class FoxycartHelpers::ProductVerification

Public Class Methods

encode(code, name, value) click to toggle source
# File lib/foxycart_helpers/product_verification.rb, line 6
def self.encode(code, name, value)
  new(code, name, value).encode
end
encoded_name(code, name, value) click to toggle source
# File lib/foxycart_helpers/product_verification.rb, line 10
def self.encoded_name(code, name, value)
  new(code, name, value).encoded_name
end
encoded_value(code, name, value) click to toggle source
# File lib/foxycart_helpers/product_verification.rb, line 14
def self.encoded_value(code, name, value)
  new(code, name, value).encoded_value
end
new(code, name, value) click to toggle source
# File lib/foxycart_helpers/product_verification.rb, line 46
def initialize(code, name, value)
  @code = code
  @name = name
  @value = value
end

Public Instance Methods

config() click to toggle source
# File lib/foxycart_helpers/product_verification.rb, line 42
def config
  FoxycartHelpers.configuration
end
encode() click to toggle source
# File lib/foxycart_helpers/product_verification.rb, line 18
def encode
  digest = OpenSSL::Digest.new 'sha256'
  key = config.api_key
  data = @code + normalized_name + @value

  OpenSSL::HMAC.hexdigest digest, key, data
end
encoded_name() click to toggle source
# File lib/foxycart_helpers/product_verification.rb, line 26
def encoded_name
  if @value == '--OPEN--'
    @name + '||' + encode + '||open'
  else
    @name + '||' + encode
  end
end
encoded_value() click to toggle source
# File lib/foxycart_helpers/product_verification.rb, line 34
def encoded_value
  if @value == '--OPEN--'
    @name + '||' + encode + '||open'
  else
    @value + '||' + encode
  end
end

Private Instance Methods

normalized_name() click to toggle source
# File lib/foxycart_helpers/product_verification.rb, line 54
def normalized_name
  if @name.match /^\d*:.*/
    @name.split(':').last
  else
    @name
  end
end