class Segurofacil::REST::Request
Constants
- DEFAULT_HEADERS
Attributes
method[R]
parameters[R]
path[R]
Public Class Methods
new(path, method, options={})
click to toggle source
# File lib/segurofacil/rest/request.rb, line 16 def initialize(path, method, options={}) @path = path @method = method @parameters = options.fetch(:params, Hash.new) end
post(path, options={})
click to toggle source
# File lib/segurofacil/rest/request.rb, line 42 def post(path, options={}) self.new path, 'POST', options end
Public Instance Methods
perform()
click to toggle source
# File lib/segurofacil/rest/request.rb, line 22 def perform json_res = {} begin res = RestClient::Request.execute request_params json_res[:body] = MultiJson.load res.body json_res[:code] = res.code rescue RestClient::ExceptionWithResponse => e parsed_error = MultiJson.load e.http_body json_res[:error] = true json_res[:body] = parsed_error json_res[:code] = e.response.code end json_res end
Private Instance Methods
credentials()
click to toggle source
# File lib/segurofacil/rest/request.rb, line 63 def credentials { credentials: { email: Segurofacil.email, password: Segurofacil.password } } end
request_params()
click to toggle source
# File lib/segurofacil/rest/request.rb, line 50 def request_params { method: method, url: resource_url, payload: parameters.merge(credentials), headers: DEFAULT_HEADERS } end
resource_url()
click to toggle source
# File lib/segurofacil/rest/request.rb, line 59 def resource_url "#{Segurofacil.api_base}/#{Segurofacil.partner_name}/#{path}" end