class Revolut::Connection
A class responsible for connecting to Revolut
API and making requests.
Attributes
client[R]
Public Class Methods
new(client)
click to toggle source
# File lib/revolut/connection.rb, line 15 def initialize(client) @client = client end
Public Instance Methods
delete(path, options = {})
click to toggle source
# File lib/revolut/connection.rb, line 27 def delete(path, options = {}) request(:delete, path, options).body end
get(path, options = {})
click to toggle source
# File lib/revolut/connection.rb, line 19 def get(path, options = {}) request(:get, path, options).body end
post(path, options = {})
click to toggle source
# File lib/revolut/connection.rb, line 23 def post(path, options = {}) request(:post, path, {}, options).body end
Private Instance Methods
add_request_headers!(request)
click to toggle source
# File lib/revolut/connection.rb, line 42 def add_request_headers!(request) request.headers['Content-Type'] = 'application/json' request.headers['Accept'] = 'application/json' return unless client.config.api_key request.headers['Authorization'] = "Bearer #{client.config.api_key}" end
connection()
click to toggle source
# File lib/revolut/connection.rb, line 51 def connection Faraday.new(connection_options) do |builder| builder.request :json builder.response :mashify, mash_class: Revolut::Mash builder.use Revolut::Middleware::RaiseError builder.response :json builder.adapter Faraday.default_adapter end end
connection_options()
click to toggle source
# File lib/revolut/connection.rb, line 63 def connection_options { headers: { user_agent: client.config.user_agent }, url: client.config.url } end
request(method, path, query_params = {}, body_params = {})
click to toggle source
# File lib/revolut/connection.rb, line 33 def request(method, path, query_params = {}, body_params = {}) connection.send(method) do |request| request.url(path, query_params) add_request_headers!(request) request.body = body_params.to_json if Revolut::Utils.present?(body_params) end end