Sha256: f3f34f9d215cb00492ce611820afaeea6b1c4921faf8c8e69d94e680a67cbd2c
Contents?: true
Size: 1.09 KB
Versions: 4
Compression:
Stored size: 1.09 KB
Contents
module Myfinance class Request def initialize(args) @args = args end def run request.run request.response end private attr_reader :args def request @request ||= Typhoeus::Request.new(args[:url], options) end def options { method: args[:method], params: args[:params], body: body, headers: headers, accept_encoding: "gzip" }.reject {|k,v| v.nil?} end def headers headers = args.fetch(:headers) { {} } { "Accept" => "application/json", "Content-Type" => "application/json", "User-Agent" => args[:user_agent], "Authorization" => "Basic #{authorization_hash}", "ACCOUNT_ID" => args[:account_id] }.merge(headers).delete_if { |_,v| v.nil? || v.to_s.empty? } end def body body = args[:body] body = MultiJson.dump(body) if body.is_a?(Hash) body end def authorization_hash ::Base64.strict_encode64("#{args[:token]}:X") end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
myfinance-0.3.3 | lib/myfinance/request.rb |
myfinance-0.3.2 | lib/myfinance/request.rb |
myfinance-0.3.1 | lib/myfinance/request.rb |
myfinance-0.3.0 | lib/myfinance/request.rb |