Класс: RuboCop::Cop::FormulaAudit::LivecheckRegexExtension Приватный
- Наследует:
- RuboCop::Cop::FormulaCop
- Object
- Base
- RuboCop::Cop::FormulaCop
- RuboCop::Cop::FormulaAudit::LivecheckRegexExtension
- Расширен:
- AutoCorrector
- Определён в:
- rubocops/livecheck.rb
Обзор
Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.
Этот cop проверяет, что шаблон, указанный для livecheck's regex, использует \.t вместо \.tgz, \.tar.gz и их вариантов.
Краткое описание констант свернуть
- TAR_PATTERN =
Эта константа является частью закрытого API. Эту константу можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.
/\\?\.t(ar|(g|l|x)z$|[bz2]{2,4}$)(\\?\.((g|l|x)z)|[bz2]{2,4}|Z)?$/i
Краткое описание атрибутов экземпляра
Атрибуты, унаследованные от 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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | # File 'rubocops/livecheck.rb', line 156 def audit_formula(formula_nodes) livecheck_node = find_block(formula_nodes.body_node, :livecheck) return if livecheck_node.blank? skip = find_every_method_call_by_name(livecheck_node, :skip).first.present? return if skip.present? livecheck_regex_node = find_every_method_call_by_name(livecheck_node, :regex).first return if livecheck_regex_node.blank? regex_node = livecheck_regex_node.descendants.first pattern = string_content(find_strings(regex_node).fetch(0)) match = pattern.match(TAR_PATTERN) return if match.blank? offending_node(regex_node) problem "Use `\\.t` instead of `#{match}`" do |corrector| node = find_strings(regex_node).fetch(0) correct = node.source.gsub(TAR_PATTERN, "\\.t") corrector.replace(node.source_range, correct) end end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/RuboCop/Cop/FormulaAudit/LivecheckRegexExtension.html