Class: AmazonFlexPay::API::BaseRequest

Inherits:
Model
  • Object
show all
Defined in:
lib/amazon_flex_pay/api/base_request.rb

Overview

:nodoc:

Defined Under Namespace

Classes: BaseResponse, ErrorResponse

Instance Method Summary collapse

Methods inherited from Model

attribute, attribute_names, collection_attribute, complex_attribute, enumerated_attribute, #initialize

Constructor Details

This class inherits a constructor from AmazonFlexPay::Model

Instance Method Details

#action_nameObject

:nodoc:



26
27
28
# File 'lib/amazon_flex_pay/api/base_request.rb', line 26

def action_name #:nodoc:
  self.class.to_s.split('::').last
end

#to_hashObject

Converts the API request object into parameters and signs them.



19
20
21
22
23
24
# File 'lib/amazon_flex_pay/api/base_request.rb', line 19

def to_hash
  super.merge(
    'Action' => action_name,
    'Version' => AmazonFlexPay::API_VERSION
  )
end

#to_paramObject



7
8
9
10
11
12
13
14
15
16
# File 'lib/amazon_flex_pay/api/base_request.rb', line 7

def to_param
  params = to_hash.merge(
    'AWSAccessKeyId' => AmazonFlexPay.access_key,
    'Timestamp' => format_value(Time.now),
    'SignatureVersion' => 2,
    'SignatureMethod' => 'HmacSHA256'
  )
  params['Signature'] = AmazonFlexPay.sign(AmazonFlexPay.api_endpoint, params)
  AmazonFlexPay::Util.query_string(params)
end

#to_urlObject



3
4
5
# File 'lib/amazon_flex_pay/api/base_request.rb', line 3

def to_url
  AmazonFlexPay.api_endpoint + '?' + self.to_param
end