Class: RuboCop::Cop::Cask::OnSystemConditionals Private
- Extended by:
- AutoCorrector, Forwardable
- Includes:
- CaskHelp, OnSystemConditionalsHelper
- Defined in:
- rubocops/cask/on_system_conditionals.rb,
rubocops/cask/on_system_conditionals.rbi,
sorbet/rbi/dsl/rubo_cop/cop/cask/on_system_conditionals.rbi
Overview
This class is part of a private API. This class may only be used in the Homebrew/brew repository. Third parties should avoid using this class if possible, as it may be removed or changed without warning.
This cop makes sure that OS conditionals are consistent.
Example
# bad
cask 'foo' do
if MacOS.version == :high_sierra
sha256 "..."
end
end
# good
cask 'foo' do
on_high_sierra do
sha256 "..."
end
end
Constant Summary collapse
- FLIGHT_STANZA_NAMES =
This constant is part of a private API. This constant may only be used in the Homebrew/brew repository. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.
[:preflight, :postflight, :uninstall_preflight, :uninstall_postflight].freeze
Constants included from OnSystemConditionalsHelper
OnSystemConditionalsHelper::ARCH_OPTIONS, OnSystemConditionalsHelper::BASE_OS_OPTIONS, OnSystemConditionalsHelper::MACOS_MODULE_NAMES, OnSystemConditionalsHelper::MACOS_VERSION_CONDITIONALS, OnSystemConditionalsHelper::MACOS_VERSION_OPTIONS, OnSystemConditionalsHelper::ON_SYSTEM_OPTIONS
Instance Method Summary collapse
- #cask_body(*args, &block) ⇒ T.untyped private
- #on_cask(cask_block) ⇒ Object private
- #sha256_on_arch_stanzas(base_node, &block) ⇒ void private
- #toplevel_stanzas(*args, &block) ⇒ T.untyped private
Methods included from CaskHelp
#cask_tap, #inner_stanzas, #on_block, #on_cask_stanza_block, #on_system_methods
Methods included from OnSystemConditionalsHelper
#audit_arch_conditionals, #audit_base_os_conditionals, #audit_macos_references, #audit_macos_version_conditionals, #audit_on_system_blocks, #hardware_cpu_search, #if_arch_node_search, #if_base_os_node_search, #if_macos_version_node_search, #macos_version_comparison_search, #on_macos_version_method_call, #on_system_method_call
Methods included from HelperFunctions
#block_method_called_in_block?, #block_size, #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, #size, #source_buffer, #start_column, #string_content
Instance Method Details
#cask_body(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
10 |
# File 'sorbet/rbi/dsl/rubo_cop/cop/cask/on_system_conditionals.rbi', line 10 def cask_body(*args, &block); end |
#on_cask(cask_block) ⇒ Object
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'rubocops/cask/on_system_conditionals.rb', line 37 def on_cask(cask_block) @cask_block = cask_block toplevel_stanzas.each do |stanza| next unless FLIGHT_STANZA_NAMES.include? stanza.stanza_name audit_on_system_blocks(stanza.stanza_node, stanza.stanza_name) end audit_arch_conditionals(cask_body, allowed_blocks: FLIGHT_STANZA_NAMES) audit_macos_version_conditionals(cask_body, recommend_on_system: false) simplify_sha256_stanzas end |
#sha256_on_arch_stanzas(base_node, &block) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
13 |
# File 'rubocops/cask/on_system_conditionals.rbi', line 13 def sha256_on_arch_stanzas(base_node, &block); end |
#toplevel_stanzas(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
13 |
# File 'sorbet/rbi/dsl/rubo_cop/cop/cask/on_system_conditionals.rbi', line 13 def toplevel_stanzas(*args, &block); end |