Класс: RuboCop::Cop::FormulaAudit::HttpUrls Приватный
- Наследует:
- RuboCop::Cop::FormulaCop
- Object
- Base
- RuboCop::Cop::FormulaCop
- RuboCop::Cop::FormulaAudit::HttpUrls
- Расширен модулем:
- AutoCorrector
- Определён в:
- rubocops/urls.rb,
sorbet/rbi/dsl/rubo_cop/cop/formula_audit/http_urls.rbi
Обзор
Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.
Этот cop проверяет, что url используют HTTPS.
Краткое описание атрибутов экземпляра
Атрибуты, унаследованные от RuboCop::Cop::FormulaCop
Краткое описание методов экземпляра свернуть
- #audit_formula(formula_nodes) ⇒ void приватный
Методы, унаследованные от RuboCop::Cop::FormulaCop
#audit_comments, #audit_urls, #caveats_strings, #dependency_name_hash_match?, #dependency_type_hash_match?, #depends_on?, #depends_on_name_type?, #formula_tap, #get_checksum_node, #on_class, #required_dependency?, #required_dependency_name?, #style_exceptions_dir, #tap_style_exception?, #versioned_formula?
Методы, включённые из HelperFunctions
#block_method_called_in_block?, #check_precedence, #class_name, #component_precedes?, #end_column, #expression_negated?, #find_all_blocks, #find_block, #find_blocks, #find_const, #find_every_func_call_by_name, #find_every_method_call_by_name, #find_instance_call, #find_instance_method_call, #find_method_calls_by_name, #find_method_def, #find_method_with_args, #find_node_method_by_name, #find_strings, #format_component, #line_number, #line_start_column, #method_called?, #method_called_ever?, #method_name, #node_equals?, #offending_node, #parameters, #parameters_passed?, #problem, #regex_match_group, #source_buffer, #start_column, #string_content
Подробное описание методов экземпляра
#audit_formula(formula_nodes) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод не возвращает определённого значения.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | # File 'rubocops/urls.rb', line 57 def audit_formula(formula_nodes) return if (body_node = formula_nodes.body_node).nil? return if formula_tap != "homebrew-core" # TODO: Remove the deprecated/disabled check after homebrew/core has no more # deprecated/disabled formulae using http:// URLs return if method_called_ever?(body_node, :deprecate!) || method_called_ever?(body_node, :disable!) # Identify livecheck URLs, to skip checking them livecheck_urls = [] find_every_func_call_by_name(body_node, :livecheck).each do |livecheck_node| livecheck_url = find_every_func_call_by_name(livecheck_node.parent, :url).first next unless livecheck_url livecheck_url_argument = parameters(livecheck_url).first next unless livecheck_url_argument next if livecheck_url_argument.type == :sym livecheck_urls << string_content(livecheck_url_argument) end find_every_func_call_by_name(body_node, :url).each do |url_node| url_string_node = parameters(url_node).first next unless url_string_node url_string = string_content(url_string_node) next unless url_string.start_with?("http://") next if livecheck_urls.include?(url_string) offending_node(url_string_node) problem "Formulae in homebrew/core should not use http:// URLs" do |corrector| corrector.replace(url_string_node.source_range, url_string_node.source.sub("http://", "https://")) end end end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/RuboCop/Cop/FormulaAudit/HttpUrls.html