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