class ActionTracker::SignedRequest

Attributes

options[R]
request_method[R]
url[R]

Public Class Methods

new(request_method, url, options = {}) click to toggle source
# File lib/action_tracker/utils/signed_request.rb, line 14
def initialize(request_method, url, options = {})
  @request_method = request_method.to_s.downcase
  @url = URI.parse(url)
  @options = options
end

Public Instance Methods

perform() click to toggle source
# File lib/action_tracker/utils/signed_request.rb, line 20
def perform
  self.class.send(request_method, url, headers: headers, body: body, format: :json)
end

Private Instance Methods

body() click to toggle source
# File lib/action_tracker/utils/signed_request.rb, line 30
def body
  options[:body]
end
headers() click to toggle source
# File lib/action_tracker/utils/signed_request.rb, line 26
def headers
  (options[:headers] || {}).merge(signature_headers)
end
signature_headers() click to toggle source
# File lib/action_tracker/utils/signed_request.rb, line 34
def signature_headers
  ApiSignature::Builder.new(signature_options).headers
end
signature_options() click to toggle source
# File lib/action_tracker/utils/signed_request.rb, line 38
def signature_options
  {
    access_key: config.api_key,
    secret: config.api_secret,
    request_method: request_method,
    path: url.path
  }
end