class Sberbank::Acquiring::AbstractChecksumValidator
Public Class Methods
new(key, digest = digest_class.new)
click to toggle source
# File lib/sberbank/acquiring/abstract_checksum_validator.rb, line 6 def initialize(key, digest = digest_class.new) @key = key @digest = digest end
Public Instance Methods
valid?(params)
click to toggle source
# File lib/sberbank/acquiring/abstract_checksum_validator.rb, line 15 def valid?(params) params_to_validate = params.dup validate(params_to_validate.delete('checksum'), params_to_validate) end
validate(checksum, params)
click to toggle source
# File lib/sberbank/acquiring/abstract_checksum_validator.rb, line 11 def validate(checksum, params) raise NotImplementedError end
Private Instance Methods
digest_class()
click to toggle source
# File lib/sberbank/acquiring/abstract_checksum_validator.rb, line 22 def digest_class OpenSSL::Digest::SHA256 end
generate_digest_data(params)
click to toggle source
# File lib/sberbank/acquiring/abstract_checksum_validator.rb, line 26 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