class Elastomer::CLI::Application

Public Instance Methods

cat(command=nil, *args) click to toggle source
# File lib/elastomer/cli/application.rb, line 44
def cat(command=nil, *args)
  scope, params = extract_cat_scope(*args)
  params = {'v' => true}.merge(params)
  if command == 'help'
    command = nil
    if scope && !scope.empty?
      command = scope
      scope = nil
      params['help'] = true
    end
  end
  template = Addressable::Template.new("/_cat{/command}{/scope}")
  path = template.expand(:command => command, :scope => scope)
  response = client.request(:get, path, params).body
  puts response
end

Private Instance Methods

extract_cat_scope(*args) click to toggle source
# File lib/elastomer/cli/application.rb, line 62
def extract_cat_scope(*args)
  scope = nil
  params = {}
  args.each do |arg|
    if match = arg.match(/(.+)=(.+)/)
      params[match.captures[0]] = match.captures[1]
    else
      scope = arg
    end
  end
  [scope, params]
end