codecal 0.3.9 → 0.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8726d95042953241fa9ecdc9f2573a5263cc058f
4
- data.tar.gz: 9ab36eb729c2f96bbe074b8bc5287500bebf9877
3
+ metadata.gz: 8c8aee3f860b9401cdc8235eeb24c488a62d4167
4
+ data.tar.gz: ddec58a2ebd8be0a0aa177d87b7f8d21ba8371a3
5
5
  SHA512:
6
- metadata.gz: 803a075e68bec22af5c5cc4989e7c0d671ef475c3ab71792bdc37d47b5c76d0904b879ea95cac096493db7ec4b2c2d49811974aff6713070168c5256af52e5a9
7
- data.tar.gz: 015cefcc00100e64ad3d1a5a6efee7065fee4b65067a7eab60fafda05b5130bef3364e12eded325b911b91400723f0b6b568fe428709befb8214510437f28b07
6
+ metadata.gz: 8c28a2118e4c048668677cadd108add060fd4f313356ae0d17d48872ff0a396951faa1c0d62e2772afd1b79e8fd697be6510f20d1d7236d4aa0df1f47ab1fb8a
7
+ data.tar.gz: 38fc88524672f4f97448baeeab5750da414ed8f538e5b184d0d4412082da5019e42e975994ee7f80e417f56b3954530d077f04a8cfacc57fc9681a0b7df740fc
@@ -1,3 +1,3 @@
1
1
  module Codecal
2
- VERSION = "0.3.9"
2
+ VERSION = "0.3.10"
3
3
  end
data/lib/codecal.rb CHANGED
@@ -63,16 +63,25 @@ module Codecal
63
63
 
64
64
  def validate_masked_code(mask, masked_code)
65
65
  return false unless is_legal_masked_code?(masked_code)
66
- return false unless is_legal_mask?(mask)
66
+ return false unless is_legal_mask?(mask)
67
+ masked_code = convert_masked_code_typo(masked_code)
68
+
67
69
  offset = get_mask_offset(mask)
68
70
  result = simple_code_generate(unmask_code(offset, masked_code)[0..-2].to_i)
71
+
69
72
  return false unless result[:success]
70
73
  return masked_code == mask_code(offset, result[:customer_code])
71
74
  end
72
75
 
76
+ def convert_masked_code_typo(masked_code)
77
+ masked_code.gsub('1', 'l')
78
+ end
79
+
73
80
  def get_unmasked_code(mask, masked_code)
74
81
  return false unless is_legal_masked_code?(masked_code)
75
- return false unless is_legal_mask?(mask)
82
+ return false unless is_legal_mask?(mask)
83
+ masked_code = convert_masked_code_typo(masked_code)
84
+
76
85
  offset = get_mask_offset(mask)
77
86
  code = unmask_code(offset, masked_code)
78
87
  all_digits?(code) ? code : false
@@ -138,7 +147,7 @@ module Codecal
138
147
 
139
148
  def is_legal_masked_code?(masked_code)
140
149
  return false unless masked_code.is_a?(String) && masked_code.size > 5
141
- return false unless masked_code[/[a-kmnp-zA-KMNP-Z2-9]+/] == masked_code
150
+ return false unless masked_code[/[a-np-zA-NP-Z1-9]+/] == masked_code
142
151
  return true
143
152
  end
144
153
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codecal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.9
4
+ version: 0.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roger Fang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-05-10 00:00:00.000000000 Z
11
+ date: 2018-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler