class BeautydateApi::APIRequest
Public Class Methods
consumer()
click to toggle source
# File lib/beautydate_api/api_request.rb, line 9 def consumer @consumer ||= BeautydateApi::APIConsumer.new unless @consumer.valid? @consumer.authenticate(BeautydateApi.api_key) end @consumer rescue BeautydateApi::ObjectNotFound => e raise BeautydateApi::AuthenticationException, 'Não foi possível autenticar o Consumer, verifique o BEAUTYDATE_TOKEN' end
request(method, url, data = {})
click to toggle source
# File lib/beautydate_api/api_request.rb, line 33 def request(method, url, data = {}) handle_response send_request(method, url, data) end
session()
click to toggle source
# File lib/beautydate_api/api_request.rb, line 19 def session @session ||= BeautydateApi::APISession.new(BeautydateApi.api_session_token) unless @session.valid? @session.authenticate( consumer.bearer, BeautydateApi.api_email, BeautydateApi.api_password ) end @session rescue BeautydateApi::ObjectNotFound => e raise BeautydateApi::AuthenticationException, 'Não foi possível autenticar a sessão, verifique o email e senha' end
Private Class Methods
build_request(method, url, data)
click to toggle source
# File lib/beautydate_api/api_request.rb, line 55 def build_request(method, url, data) { method: method, url: url, headers: headers, payload: { data: data }.to_json, timeout: 30 } end
handle_response(response)
click to toggle source
# File lib/beautydate_api/api_request.rb, line 49 def handle_response(response) JSON.parse(response.body) rescue JSON::ParserError raise RequestFailed end
headers()
click to toggle source
# File lib/beautydate_api/api_request.rb, line 65 def headers { user_agent: "BeautyDate/#{BeautydateApi::VERSION}; Ruby Client", content_type: 'application/vnd.api+json', authorization: self.consumer.bearer, 'X-BeautyDate-Session-Token' => self.session.token } end
send_request(method, url, data)
click to toggle source
# File lib/beautydate_api/api_request.rb, line 39 def send_request(method, url, data) RestClient::Request.execute build_request(method, url, data) rescue RestClient::ResourceNotFound raise ObjectNotFound rescue RestClient::UnprocessableEntity => e raise RequestWithErrors.new JSON.parse(e.response) rescue RestClient::BadRequest => e raise RequestWithErrors.new JSON.parse(e.response) end