Class: Bazil::REST

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/bazil/rest.rb

Instance Method Summary collapse

Constructor Details

#initialize(http, options = {}) ⇒ REST

Returns a new instance of REST.



14
15
16
17
18
# File 'lib/bazil/rest.rb', line 14

def initialize(http, options = {})
  @http = http
  @api_root = options[:api_root] || '/'
  @api_root += '/' unless @api_root.end_with? '/'
end

Instance Method Details

#delete(uri) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/bazil/rest.rb', line 52

def delete(uri)
  uri = gen_path(uri)
  uri, header = add_api_signature(uri, nil)
  @http.delete(uri, header)
rescue Errno::ECONNREFUSED => e
  raise_error('DELETE')
end

#get(uri) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/bazil/rest.rb', line 28

def get(uri)
  uri = gen_path(uri)
  uri, header = add_api_signature(uri, nil)
  @http.get(uri, header)
rescue Errno::ECONNREFUSED => e
  raise_error('GET')
end

#post(uri, data, header = {}) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/bazil/rest.rb', line 44

def post(uri, data, header = {})
  uri = gen_path(uri)
  uri, header = add_api_signature(uri, data, header)
  @http.post(uri, data, header)
rescue Errno::ECONNREFUSED => e
  raise_error('POST')
end

#put(uri, data, header = {}) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/bazil/rest.rb', line 36

def put(uri, data, header = {})
  uri = gen_path(uri)
  uri, header = add_api_signature(uri, data, header)
  @http.put(uri, data, header)
rescue Errno::ECONNREFUSED => e
  raise_error('PUT')
end

#set_api_keys(key, secret) ⇒ Object



22
23
24
25
26
# File 'lib/bazil/rest.rb', line 22

def set_api_keys(key, secret)
  @api_key = key
  @secret_key = secret
  true
end