Class: Tangerine::Backlot::API

Inherits:
Object
  • Object
show all
Defined in:
lib/tangerine/backlot.rb

Class Method Summary collapse

Class Method Details

.authenticate!(credentials) ⇒ Object



15
16
17
18
19
# File 'lib/tangerine/backlot.rb', line 15

def self.authenticate!(credentials)
  creds = HashWithIndifferentAccess.new credentials
  @secret = creds[:secret]
  HTTP.default_params :pcode => creds[:provider_code]
end

.get(request_type, params = {}) ⇒ Object



21
22
23
24
25
# File 'lib/tangerine/backlot.rb', line 21

def self.get(request_type, params={})
  params['expires'] ||= (Time.now.to_i + 10).to_s
  params['signature'] = self.signature(params)
  HTTP.get(request_type, {:query => params})
end

.signature(params) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/tangerine/backlot.rb', line 27

def self.signature(params)
  string_to_sign = params.keys.sort.inject(@secret) do |memo, key|
    memo += "#{key}=#{params[key]}"
  end
  digest = Digest::SHA256.digest(string_to_sign)
  Base64::encode64(digest).chomp.gsub(/=+$/, '')
end