Class: HammerCLIForeman::Parameter::SetCommand

Inherits:
AbstractParameterCommand show all
Defined in:
lib/hammer_cli_foreman/parameter.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from AbstractParameterCommand

#base_action_params, create_option_builder, #get_identifier, #get_parameter_identifier, #parameter_resource, parameter_resource

Methods inherited from Command

build_options, connection_name, create_option_builder, #customized_options, #dependency_resolver, dependency_resolver, #exception_handler_class, #get_identifier, #get_resource_id, #get_resource_ids, #option_sources, #request_params, #resolver, resolver, resource_config, resource_name_mapping, #searchables, searchables, #send_request, #transform_format

Class Method Details

.command_name(name = nil) ⇒ Object



53
54
55
# File 'lib/hammer_cli_foreman/parameter.rb', line 53

def self.command_name(name=nil)
  (super(name) || "set-parameter").gsub('_', '-')
end

Instance Method Details

#create_parameterObject



83
84
85
86
87
88
89
90
91
92
93
# File 'lib/hammer_cli_foreman/parameter.rb', line 83

def create_parameter
  params = {
    "parameter" => {
      "name" => option_name,
      "value" => option_value,
      "hidden_value" => option_hidden_value
    }
  }.merge(base_action_params)

  HammerCLIForeman.record_to_common_format(parameter_resource.call(:create, params))
end

#executeObject



57
58
59
60
61
62
63
64
65
66
# File 'lib/hammer_cli_foreman/parameter.rb', line 57

def execute
  if parameter_exist?
    response = update_parameter
    print_message(success_message_for(:update), response) if success_message_for(:update)
  else
    response = create_parameter
    print_message(success_message_for(:create), response) if success_message_for(:create)
  end
  HammerCLI::EX_OK
end

#parameter_exist?Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/hammer_cli_foreman/parameter.rb', line 68

def parameter_exist?
  get_parameter_identifier rescue false
end

#update_parameterObject



72
73
74
75
76
77
78
79
80
81
# File 'lib/hammer_cli_foreman/parameter.rb', line 72

def update_parameter
  params = {
    "id" => get_parameter_identifier,
    "parameter" => {
      "value" => option_value,
      "hidden_value" => option_hidden_value
    }
  }.merge(base_action_params)
  HammerCLIForeman.record_to_common_format(parameter_resource.call(:update, params))
end