foxycart_helpers 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7afd801389f0dd4d0ff57b32897e04c43dbafa40
4
- data.tar.gz: 91c421060a077d33518cd0cf79ba8f1eab5b5cd6
3
+ metadata.gz: 8fc8bdc67212ceb4fba85176f37ed153f398a1aa
4
+ data.tar.gz: 2841838a458c474d3e2677c4ff20b52041594dfb
5
5
  SHA512:
6
- metadata.gz: f7a315f7f336dcb332d3ca5967571910eb343cbdd89fcb3b0fc30459405e98a9e957ab298873920e79ca695cbe8f92ab79392cd388582580aa56c55916c270f2
7
- data.tar.gz: ffb225cdc630246836cf48604a8bd5ea2006b8253416b89d6a5152566803b364a288b7cdb3db6c3b9800672de501511e8dc0a6e0997c377b58b7f600c79347ac
6
+ metadata.gz: 23e0cda32042fe404f5a228ff52c21f1e8907cfdd137132ede59c92eaa4b70ff9c7ad43d23417470392f62b763aa35fb3278cf660cce52fafdf86da015616c26
7
+ data.tar.gz: 462d70edaecb28caba9ae57aa4bf655feed51a410732c94eb7547584c0a04cad0121bf224fee07cf121f159f61723adeb67c8ec945323734901e3420e5889dd0
@@ -3,24 +3,40 @@ require 'foxycart_helpers/configuration'
3
3
  module FoxycartHelpers
4
4
  class ProductVerification
5
5
 
6
- def self.encode(*args)
7
- new(*args).encode
6
+ def self.encode(code, name, value)
7
+ new(code, name, value).encode
8
8
  end
9
9
 
10
- def self.encoded_name(*args)
11
- new(*args).encoded_name
10
+ def self.encoded_name(code, name, value)
11
+ new(code, name, value).encoded_name
12
+ end
13
+
14
+ def self.encoded_value(code, name, value)
15
+ new(code, name, value).encoded_value
12
16
  end
13
17
 
14
18
  def encode
15
19
  digest = OpenSSL::Digest.new 'sha256'
16
20
  key = config.api_key
17
- data = @code + @name + @value
21
+ data = @code + normalized_name + @value
18
22
 
19
23
  OpenSSL::HMAC.hexdigest digest, key, data
20
24
  end
21
25
 
22
26
  def encoded_name
23
- @value + '||' + encode
27
+ if @value == '--OPEN--'
28
+ @name + '||' + encode + '||open'
29
+ else
30
+ @name + '||' + encode
31
+ end
32
+ end
33
+
34
+ def encoded_value
35
+ if @value == '--OPEN--'
36
+ @name + '||' + encode + '||open'
37
+ else
38
+ @value + '||' + encode
39
+ end
24
40
  end
25
41
 
26
42
  def config
@@ -33,8 +49,14 @@ module FoxycartHelpers
33
49
  @value = value
34
50
  end
35
51
 
36
- # encoded_value is an alias for encoded_name
37
- singleton_class.send :alias_method, :encoded_value, :encoded_name
52
+ private
38
53
 
54
+ def normalized_name
55
+ if @name.match /^\d*:.*/
56
+ @name.split(':').last
57
+ else
58
+ @name
59
+ end
60
+ end
39
61
  end
40
62
  end
@@ -1,3 +1,3 @@
1
1
  module FoxycartHelpers
2
- VERSION = '1.0.1'
2
+ VERSION = '1.0.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foxycart_helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Coleman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-07 00:00:00.000000000 Z
11
+ date: 2016-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-rc4
@@ -157,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  version: '0'
158
158
  requirements: []
159
159
  rubyforge_project:
160
- rubygems_version: 2.4.5.1
160
+ rubygems_version: 2.5.1
161
161
  signing_key:
162
162
  specification_version: 4
163
163
  summary: Helpers for using FoxyCart in Ruby