class ForemanMaintain::Cli::Procedure::AbstractByTagCommand
Public Class Methods
params_for_tag(tag)
click to toggle source
# 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)
click to toggle source
# 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
Public Instance Methods
execute()
click to toggle source
# 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
Private Instance Methods
scenario(invocation_path)
click to toggle source
# File lib/foreman_maintain/cli/advanced/procedure/abstract_by_tag_command.rb, line 34 def scenario(invocation_path) tag = underscorize(invocation_path.split.last).to_sym scenario = ForemanMaintain::Scenario.new ForemanMaintain.allowed_available_procedures( :tags => tag ).sort_by(&:label).each do |procedure| scenario.add_step(procedure.new(get_params_for(procedure))) end scenario end