Sha256: 1ae76160c9ccdd397720d8eaab578a5023ea64e8e9dd19e115da65dced3b3ac8
Contents?: true
Size: 752 Bytes
Versions: 2
Compression:
Stored size: 752 Bytes
Contents
# frozen_string_literal: true module Sberbank module Acquiring class AbstractChecksumValidator def initialize(key, digest = digest_class.new) @key = key @digest = digest end def validate(checksum, params) raise NotImplementedError end def valid?(params) params_to_validate = params.dup validate(params_to_validate.delete('checksum'), params_to_validate) end private def digest_class OpenSSL::Digest::SHA256 end def generate_digest_data(params) params. keys. sort { |a, b| a.to_s <=> b.to_s }. map { |param_key| "#{param_key};#{params[param_key]};" }. join end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sberbank-acquiring-1.0.0 | lib/sberbank/acquiring/abstract_checksum_validator.rb |
sberbank-acquiring-0.2.1 | lib/sberbank/acquiring/abstract_checksum_validator.rb |