class MMS::CLI::MMS::CLI::MMS::CLI::Command

Attributes

agent[RW]
app_name[RW]
client[RW]
config[RW]

Public Class Methods

new(_invocation_path, _context = {}, _parent_attribute_values = {}) click to toggle source
# File lib/mms/cli.rb, line 51
def initialize(_invocation_path, _context = {}, _parent_attribute_values = {})
  @config ||= MMS::Config.new
end

Public Instance Methods

clusters() click to toggle source

@return [Array<MMS::Resource::Cluster>]

# File lib/mms/cli.rb, line 83
def clusters
  id = ignore? ? nil : @config.default_cluster_id

  groups.collect! do |group|
    id.nil? ? group.clusters : group.cluster(id)
  end.flatten
end
groups() click to toggle source

@return [Array<MMS::Resource::Group>]

# File lib/mms/cli.rb, line 77
def groups
  id = ignore? ? nil : @config.default_group_id
  id.nil? ? agent.groups : [agent.find_group(id)]
end
parse_user_home_config() click to toggle source
# File lib/mms/cli.rb, line 55
def parse_user_home_config
  raise(MMS::ConfigError.new('Config file path is not set!')) if @config.config_path.nil?
  config_file = Pathname.new(@config.config_path)
  raise(MMS::ConfigError.new("Config file `#{config_file}` does not exist")) unless config_file.exist?

  config = ParseConfig.new(config_file)
  config.params.map do |key, value|
    begin
      @config.send("#{key}=", value)
    rescue Exception => _e
      raise MMS::ConfigError.new("Config option `#{key}` from file `#{config_file}` is not allowed!")
    end
  end
end
print(heading, resource_list) click to toggle source

@param [String] heading @param [Array<MMS::Resource>] resource_list

print_human(heading, resource_list) click to toggle source

@param [String] heading @param [Array<MMS::Resource>] resource_list

print_json(resource_list) click to toggle source

@param [Array<MMS::Resource>] resource_list

print_tips() click to toggle source
run(arguments) click to toggle source

@param [Array] arguments

Calls superclass method
# File lib/mms/cli.rb, line 132
def run(arguments)
  parse_user_home_config
  super
rescue Clamp::HelpWanted => _e
  raise(help)
rescue Clamp::UsageError => e
  raise([e.message, help].join("\n"))
rescue MMS::AuthError => _e
  raise('Authorisation problem. Please check you credential!')
rescue MMS::ResourceError => e
  raise(["Resource #{e.resource.class.name} problem:", e.message].join("\n"))
end