Spec-Zone.ru › Homebrew

Класс: RuboCop::Cop::FormulaAudit::DeprecateDisableReason Приватный

Наследует:
RuboCop::Cop::FormulaCop
  • Object
  • Base
  • RuboCop::Cop::FormulaCop
  • RuboCop::Cop::FormulaAudit::DeprecateDisableReason
показать все
Расширен модулем:
AutoCorrector
Определён в:
rubocops/deprecate_disable.rb,
sorbet/rbi/dsl/rubo_cop/cop/formula_audit/deprecate_disable_reason.rbi

Обзор

Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.

Этот cop проверяет причины deprecate! и disable!.

Краткое описание констант свернуть

PUNCTUATION_MARKS =

Эта константа является частью приватного API. Эту константу можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.

%w[.!?].freeze

Краткое описание атрибутов экземпляра

Атрибуты, унаследованные от RuboCop::Cop::FormulaCop

#file_path

Краткое описание методов экземпляра свернуть

  • #audit_formula(formula_nodes) ⇒ void приватный
  • #reason(node, *pattern, **kwargs, &block) ⇒ T.untyped приватный

Методы, унаследованные от 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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Параметры:

  • formula_nodes (FormulaNodes)


46
47
48
49
50
51
52
53
54
55
56
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
# File 'rubocops/deprecate_disable.rb', line 46

def audit_formula(formula_nodes)
  body_node = formula_nodes.body_node

  [:deprecate!, :disable!].each do |method|
    node = find_node_method_by_name(body_node, method)

    next if node.nil?

    reason_found = T.let(false, T::Boolean)
    reason(node) do |reason_node|
      reason_found = true
      next if reason_node.sym_type?

      @offensive_node = reason_node
      reason_string = string_content(reason_node)

      if reason_string.start_with?("it ")
        problem "Do not start the reason with `it`" do |corrector|
          corrector.replace(@offensive_node.source_range, "\"#{reason_string[3..]}\"")
        end
      end

      if PUNCTUATION_MARKS.include?(reason_string[-1])
        problem "Do not end the reason with a punctuation mark" do |corrector|
          corrector.replace(@offensive_node.source_range, "\"#{reason_string.chop}\"")
        end
      end
    end

    next if reason_found

    case method
    when :deprecate!
      problem 'Add a reason for deprecation: `deprecate! because: "..."`'
    when :disable!
      problem 'Add a reason for disabling: `disable! because: "..."`'
    end
  end
end

#reason(node, *pattern, **kwargs, &block) ⇒ T.untyped

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • node (RuboCop::AST::Node)
  • pattern (String, Symbol)
  • kwargs (T.untyped)
  • block (T.untyped)

Возвращает:

  • (T.untyped)


17
# File 'sorbet/rbi/dsl/rubo_cop/cop/formula_audit/deprecate_disable_reason.rbi', line 17

def reason(node, *pattern, **kwargs, &block); end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/RuboCop/Cop/FormulaAudit/DeprecateDisableReason.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API