module Eloan::Helper::Signature

Public Instance Methods

handle_request_data(request_method, url, params) click to toggle source
# File lib/eloan/helper/signature.rb, line 13
def handle_request_data(request_method, url, params)
  data = [request_method, url, change_params(params)] * ''
end
handle_response_data(params) click to toggle source
# File lib/eloan/helper/signature.rb, line 17
def handle_response_data(params)
  params.delete('signature')
  data = change_params(params)
end
hexdigest(data) click to toggle source
# File lib/eloan/helper/signature.rb, line 4
def hexdigest(data)
  digest = OpenSSL::Digest.new('SHA256')
  OpenSSL::HMAC.hexdigest(digest, configurate.app_key, data)
end
verify?(data, signature) click to toggle source
# File lib/eloan/helper/signature.rb, line 9
def verify?(data, signature)
  hexdigest(data) == signature
end

Private Instance Methods

change_params(params) click to toggle source
# File lib/eloan/helper/signature.rb, line 24
def change_params(params)
  data = params.sort.map do |k, v|
    "#{k}=#{v}" if v.present?
  end
  data.compact * '&'
end