module Cubaru

Constants

VERSION

Attributes

api_host[RW]
api_key[RW]
api_version[RW]
protocol[RW]

Public Class Methods

configure() { |self| ... } click to toggle source
# File lib/cubaru.rb, line 17
def configure
  yield self
  true
end
require_options(options, *keys) click to toggle source
# File lib/cubaru.rb, line 22
def require_options(options, *keys)
        keys.each do |key|
                raise ArgumentError.new(":#{key} is required") unless options.key?(key)
        end
end
submit(method, url, parameters={}) click to toggle source
# File lib/cubaru.rb, line 28
def submit(method, url, parameters={})
        parameters = {:params => parameters} if method == :get
        JSON(RestClient.send(method, url, parameters))
rescue => e
        error_message = nil
        raise e unless e.respond_to? :http_body
        begin
                json = JSON(e.http_body)

                if json.has_key? 'errors'
                        error_message = json["errors"].first.values.first
                elsif json.has_key? 'message'
                        error_message = json["message"]
                else
                        error_message = "Unknown error: #{json}"
                end
        rescue => e
                raise e
        end
        raise Cubaru::Error.new(error_message)
end