Class: Oschadbank::MacBuilder

Inherits:
Object
  • Object
show all
Includes:
Constants
Defined in:
lib/oschadbank/mac_builder.rb

Constant Summary

Constants included from Constants

Constants::DEFAULT_API_URL, Constants::MAC_PARAMS_ORDER, Constants::RC_MESSAGES, Constants::RC_SUCCESS, Constants::RESULT_MESSAGES, Constants::RESULT_SUCCESS, Constants::TR_TYPE

Instance Method Summary collapse

Constructor Details

#initialize(request_type, mac_key, request_params) ⇒ MacBuilder

Returns a new instance of MacBuilder.



5
6
7
8
9
10
11
# File 'lib/oschadbank/mac_builder.rb', line 5

def initialize(request_type, mac_key, request_params)
  @request_type = request_type
  @mac_key = mac_key
  @request_params = request_params

  @request_type = :auth if @request_type == :pre_auth
end

Instance Method Details

#buildObject



13
14
15
16
17
18
19
20
21
# File 'lib/oschadbank/mac_builder.rb', line 13

def build
  params_order = MAC_PARAMS_ORDER[@request_type]
  return unless params_order

  params_str = join_params(@request_params, params_order)

  digest = OpenSSL::Digest.new('sha1')
  OpenSSL::HMAC.hexdigest(digest, packed_key, params_str)
end