class Drummond

Constants

VERSION

Attributes

conn[RW]
debug[RW]

Public Class Methods

new(url, debug=false, encoding=:url_encoded, adapter=Faraday.default_adapter) click to toggle source
# File lib/drummond.rb, line 7
def initialize url, debug=false, encoding=:url_encoded, adapter=Faraday.default_adapter
  @debug = debug
  @conn = Faraday.new(:url => url) do |faraday|
    faraday.request encoding 
    faraday.response :logger if @debug
    faraday.adapter adapter 
  end
end

Public Instance Methods

delete(path, params = {}) click to toggle source
# File lib/drummond.rb, line 28
def delete path, params = {}, headers = {}
  self.request path, 'delete', params, headers
end
get(path, params = {}) click to toggle source
# File lib/drummond.rb, line 16
def get path, params = {}, headers = {}
  self.request path, 'get', params, headers
end
post(path, params = {}) click to toggle source
# File lib/drummond.rb, line 20
def post path, params = {}, headers = {}
  self.request path, 'post', params, headers
end
put(path, params = {}) click to toggle source
# File lib/drummond.rb, line 24
def put path, params = {}, headers = {}
  self.request path, 'put', params, headers
end

Protected Instance Methods

process(stuff) click to toggle source
# File lib/drummond.rb, line 42
def process stuff
  MultiJson.load stuff
rescue MultiJson::LoadError => le
  stuff
end
request(path, method = 'get', params = {}) click to toggle source
# File lib/drummond.rb, line 34
def request path, method = 'get', params = {}, headers = {}
  res = self.conn.send(method, path) do |req|
    req.params = params
    req.headers = headers if headers.keys.size > 0
  end
  self.process res.body
end