Class: ForemanMaintain::Cli::Procedure::AbstractByTagCommand

Inherits:
AbstractProcedureCommand show all
Defined in:
lib/foreman_maintain/cli/advanced/procedure/abstract_by_tag_command.rb

Instance Attribute Summary

Attributes inherited from Base

#runner

Class Method Summary collapse

Instance Method Summary collapse

Methods included from TransformClampOptions

included

Methods inherited from Base

#available_checks, #available_procedures, available_tags, #available_tags, completion_map, completion_types, dashize, #dashize, delete_duplicate_assumeyes_if_any, interactive_option, label_option, #label_string, option, #option_wrapper, parameter, #print_check_info, #reporter, #run_scenario, #run_scenarios_and_exit, service_options, subcommand, #tag_string, tags_option, #underscorize

Methods included from ForemanMaintain::Concerns::Logger

#logger

Methods included from ForemanMaintain::Concerns::Finders

#check, #detector, #feature, #find_all_scenarios, #find_checks, #find_procedures, #find_scenarios, #procedure

Class Method Details

.params_for_tag(tag) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/foreman_maintain/cli/advanced/procedure/abstract_by_tag_command.rb', line 14

def self.params_for_tag(tag)
  params = {}
  ForemanMaintain.allowed_available_procedures(:tags => tag).each do |procedure|
    procedure.params.each_value do |param|
      unless params.key?(param.name)
        params[param.name] = { :instance => param, :procedures => [] }
      end
      params[param.name][:procedures] += [procedure.label.to_s]
    end
  end
  params
end

.tag_params_to_options(tag) ⇒ Object



5
6
7
8
9
10
11
12
# File 'lib/foreman_maintain/cli/advanced/procedure/abstract_by_tag_command.rb', line 5

def self.tag_params_to_options(tag)
  params = params_for_tag(tag)
  params.each_value do |param|
    mapping = param[:procedures]
    instance = param[:instance]
    param_to_option(instance, :description => instance.description + " #{mapping}")
  end
end

Instance Method Details

#executeObject



27
28
29
30
# File 'lib/foreman_maintain/cli/advanced/procedure/abstract_by_tag_command.rb', line 27

def execute
  run_scenario(scenario(invocation_path))
  exit runner.exit_code
end