Module: ShopifyAPI::HmacParams

Defined in:
lib/shopify_api/hmac_params.rb

Constant Summary collapse

KEY_REGEXP =
/([#{Regexp.escape("&=%")}])/n
VALUE_REGEXP =
/([#{Regexp.escape("&%")}])/n

Class Method Summary collapse

Class Method Details

.encode(params) ⇒ Object



6
7
8
9
10
11
# File 'lib/shopify_api/hmac_params.rb', line 6

def encode(params)
  params
    .except(:signature, :hmac, :action, :controller)
    .map { |k,v| sprintf("%s=%s", encode_key(k), encode_value(v)) }
    .sort.join("&")
end

.encode_key(key) ⇒ Object



14
15
16
# File 'lib/shopify_api/hmac_params.rb', line 14

def encode_key(key)
  _escape(key.to_s, KEY_REGEXP)
end

.encode_value(value) ⇒ Object



19
20
21
# File 'lib/shopify_api/hmac_params.rb', line 19

def encode_value(value)
  _escape(value.to_s, VALUE_REGEXP)
end