Class: Oschadbank::MacBuilder
- Inherits:
-
Object
- Object
- Oschadbank::MacBuilder
- 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
- #build ⇒ Object
-
#initialize(request_type, mac_key, request_params) ⇒ MacBuilder
constructor
A new instance of MacBuilder.
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
#build ⇒ Object
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 |