Module: Cubaru

Defined in:
lib/cubaru.rb,
lib/cubaru/error.rb,
lib/cubaru/version.rb,
lib/cubaru/v1/resource.rb,
lib/cubaru/v1/address/resource.rb,
lib/cubaru/v1/postcard/resource.rb

Defined Under Namespace

Modules: V1 Classes: Error

Constant Summary collapse

VERSION =
"0.0.1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.api_hostObject

Returns the value of attribute api_host.



12
13
14
# File 'lib/cubaru.rb', line 12

def api_host
  @api_host
end

.api_keyObject

Returns the value of attribute api_key.



12
13
14
# File 'lib/cubaru.rb', line 12

def api_key
  @api_key
end

.api_versionObject

Returns the value of attribute api_version.



12
13
14
# File 'lib/cubaru.rb', line 12

def api_version
  @api_version
end

.protocolObject

Returns the value of attribute protocol.



12
13
14
# File 'lib/cubaru.rb', line 12

def protocol
  @protocol
end

Class Method Details

.configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (Cubaru)

    the object that the method was called on



17
18
19
20
# File 'lib/cubaru.rb', line 17

def configure
  yield self
  true
end

.require_options(options, *keys) ⇒ Object



22
23
24
25
26
# 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 = {}) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 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