Sha256: c178ef87ce4c82fb2f6fa7cb390633d4b752ad39066ba420f364348bf0e96928

Contents?: true

Size: 969 Bytes

Versions: 3

Compression:

Stored size: 969 Bytes

Contents

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', :short => "-m", :type => :string
        end
      end

      def self.run(args)
        data = STDIN.read() unless STDIN.tty?

        rv = @api.request(@opts[:method], args.first, {
          :body => data
        }.compact)

        return (rv.parsed_response rescue rv.response.body)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
onering-client-0.0.62 lib/onering/cli/call.rb
onering-client-0.0.61 lib/onering/cli/call.rb
onering-client-0.0.60 lib/onering/cli/call.rb