class SealineInsurance::Request
Attributes
config[R]
Public Class Methods
new(config:)
click to toggle source
# File lib/sealine_insurance/request.rb, line 7 def initialize(config:) @config = config end
Public Instance Methods
delete(url)
click to toggle source
# File lib/sealine_insurance/request.rb, line 19 def delete(url) send_request(:delete, url) end
get(url)
click to toggle source
# File lib/sealine_insurance/request.rb, line 11 def get(url) send_request(:get, url) end
post(url, data)
click to toggle source
# File lib/sealine_insurance/request.rb, line 15 def post(url, data) send_request(:post, url, data) end
Private Instance Methods
send_request(method, url, body = nil)
click to toggle source
# File lib/sealine_insurance/request.rb, line 25 def send_request(method, url, body = nil) conn = Faraday.new do |builder| builder.response(:logger, config.logger, bodies: true) if config.logger builder.adapter Faraday.default_adapter end conn.send(method, "#{config.base_url}#{url}.json") do |req| req.headers['Authorization'] = "Token #{config.token}" if body req.headers['Content-Type'] = 'application/json' req.body = body.to_json end req.options.timeout = config.timeout if config.timeout req.options.open_timeout = config.open_timeout if config.open_timeout end rescue Faraday::Error => e raise RequestError, "#{e.class}: #{e.message}" end