module Onering module CLI module Call def self.configure(global={}) @api = Onering::CLI.connect(global) @opts = ::Trollop::options do banner <<-EOS Call an arbitrary Onering API endpoint and return the output Usage: onering call [options] [endpoint] Examples: # Returns the API status page at path /api/ $ onering call / # Returns details about the authenticated user $ onering call users/current # Delete the device called '0bf29c' $ onering call devices/0bf29c -m delete Options: EOS opt :method, "The HTTP method to use when performing the request (default: GET)", :default => 'get', :short => "-m", :type => :string end end def self.run(args) rv = @api.request(@opts[:method], args.first) return (rv.parsed_response || rv.response.body) end end end end