class HammerCLIForeman::OptionSources::NewParams
Public Class Methods
new(command)
click to toggle source
# File lib/hammer_cli_foreman/option_sources/new_params.rb, line 4 def initialize(command) @command = command end
Public Instance Methods
get_options(_defined_options, result)
click to toggle source
# File lib/hammer_cli_foreman/option_sources/new_params.rb, line 8 def get_options(_defined_options, result) resource_names = @command.class.option_builder.builders .select { |b| b.class == HammerCLIForeman::UpdateDependentSearchablesOptionBuilder } .collect(&:resource) .collect(&:singular_name) new_result = resource_names.each_with_object({}) do |name, results| new_name = @command.send("option_new_#{name}_name") || @command.send("option_new_#{name}_title") results["option_new_#{name}_id"] = if new_name @command.resolver.send("#{name}_id", 'option_name' => new_name) else @command.send("option_new_#{name}_id") end end result.merge!(new_result) end