module Brickwall::Signature

Public Class Methods

calculate_v2(params = {}) click to toggle source
# File lib/brickwall/signature.rb, line 4
def calculate_v2(params = {})
  data = string_params(sorted_params!(params.to_a)) + Brickwall.configuration.widget_secret_key
  Digest.hexencode OpenSSL::Digest::MD5.digest data
end
calculate_v3(params = {}) click to toggle source
# File lib/brickwall/signature.rb, line 9
def calculate_v3(params = {})
  data = string_params(sorted_params!(params.to_a)) + Brickwall.configuration.widget_secret_key
  Digest.hexencode OpenSSL::Digest::SHA256.digest data
end

Private Class Methods

sorted_params!(arr_params) click to toggle source
# File lib/brickwall/signature.rb, line 16
def sorted_params!(arr_params)
  arr_params.sort! { |(k1,_), (k2,_)| k1 <=> k2 }
end
string_params(arr_params) click to toggle source
# File lib/brickwall/signature.rb, line 20
def string_params(arr_params)
  str = StringIO.new
  arr_params.each do |(k, v)|
    str << k.to_s
    str << '='
    str << v.to_s
  end
  str.string
end