class SolrMakr::Commands::Execute

Execute an application command based on its configuration.

Public Instance Methods

execute() click to toggle source

@return [SolrMakr::Commands::Buffer]

# File lib/solr_makr/commands/execute.rb, line 17
def execute
  set_global_options!

  set_default_options!

  validate_options!

  unless errors.any?
    compose_buffer action.interaction_klass, **raw_options
  end

  return buffer
end
raw_options() click to toggle source

@api private @return [Hash]

# File lib/solr_makr/commands/execute.rb, line 62
def raw_options
  command_options.__hash__.symbolize_keys
end
set_default_options!() click to toggle source

Inherit default options for the action if any.

@return [void]

# File lib/solr_makr/commands/execute.rb, line 47
def set_default_options!
  action.set_default_options!(command_args, command_options)
end
set_global_options!() click to toggle source

Set global options for the environment.

@return [void]

# File lib/solr_makr/commands/execute.rb, line 40
def set_global_options!
  compose SolrMakr::SetGlobalOptions, raw_options
end
validate_options!() click to toggle source

@return [void]

# File lib/solr_makr/commands/execute.rb, line 52
def validate_options!
  action.option_mapping.each do |option|
    unless option.valid_in?(command_options)
      errors.add :base, "Missing required argument: #{option.long_name}"
    end
  end
end