Класс: RuboCop::Cop::FormulaAudit::Urls Приватный
- Наследует:
- RuboCop::Cop::FormulaCop
- Object
- Base
- RuboCop::Cop::FormulaCop
- RuboCop::Cop::FormulaAudit::Urls
- Расширен модулем:
- AutoCorrector
- Подключает:
- UrlHelper
- Определён в:
- rubocops/urls.rb,
sorbet/rbi/dsl/rubo_cop/cop/formula_audit/urls.rbi
Обзор
Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.
Этот cop проверяет urls и mirrors в формулах.
Краткое описание атрибутов экземпляра
Атрибуты, унаследованные от RuboCop::Cop::FormulaCop
Краткое описание методов экземпляра свернуть
- #audit_formula(formula_nodes) ⇒ void приватный
Методы, включённые из UrlHelper
Методы, включённые из 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
Методы, унаследованные от 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?
Подробное описание методов экземпляра
#audit_formula(formula_nodes) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # File 'rubocops/urls.rb', line 16 def audit_formula(formula_nodes) return if (body_node = formula_nodes.body_node).nil? urls = find_every_func_call_by_name(body_node, :url) mirrors = find_every_func_call_by_name(body_node, :mirror) # Identify livecheck URLs, to skip some checks for 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 audit_url(:formula, urls, mirrors, livecheck_urls:) return if formula_tap != "homebrew-core" # Check for binary URLs audit_urls(urls, /(darwin|macos|osx)/i) do |match, url| next if T.must(@formula_name).include?(match.to_s.downcase) next if url.match?(/.(patch|diff)(\?full_index=1)?$/) next if tap_style_exception? :not_a_binary_url_prefix_allowlist next if tap_style_exception? :binary_bootstrap_formula_urls_allowlist problem "#{url} looks like a binary package, not a source archive; " \ "homebrew/core is source-only." end end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/RuboCop/Cop/FormulaAudit/Urls.html