luhnAlgorithmCheck 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/luhnAlgorithmCheck.rb +4 -25
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 14a651a6da2364b65591174f8f5a2fd4b807d6a654be5220ce72823dcf082cde
4
- data.tar.gz: a0967eedefc4945ae1a59fd977d7a35982c80397e6d30a0da623c4d8bb7d3bc6
3
+ metadata.gz: 214e31acc25da580cb0b705c94498ffe923ca4ac4631aa845862bbb1bf20a30a
4
+ data.tar.gz: 3e30a681c39f62edd7d7959f8a6028d2ea1cddeb660b44bcea848016831d3d86
5
5
  SHA512:
6
- metadata.gz: 4d8c2fbb3351bced290e60f1a4b758cdf80769be044afe5ca232dace7b4fa759e50af6c58699836a612247ed0201cee23ad2d96a1f9972c320680eb2c2245076
7
- data.tar.gz: f4b855fbb2649dfe769de44b35d3825de2607013e92a05a6148decfc291c29ba8193cefb8361e5c09e9c6fb05af28459611358b893335cdbd0015b19c6d5355e
6
+ metadata.gz: 72132d9061c4fc077ae1d792773ec61d2689e8b887124d75f36b35703b138549ed64ffc21b967643d7cdb0a4f9e5e4960cd554f5194705ab9056679afdacdf5d
7
+ data.tar.gz: 9c444cf3c72992e73a910652efed6c6477043383af6c9f8e8afbedd77aa188edc025bcb702bc33410ce0718e15273a23b206e6d0a90ad5af8b34f7c2afd5242e
@@ -5,31 +5,10 @@ class LuhnAlgorithm
5
5
  @num = num
6
6
  end
7
7
 
8
- def addends
9
- raw_addends.map do |digit|
10
- digit < 10 ? digit : digit - 9
11
- end
8
+ def luhn_valid?()
9
+ num.scan(/\d/).reverse.each_slice(2)
10
+ .sum { |i, k = 0| i.to_i + ((k.to_i)*2).digits.sum }
11
+ .modulo(10).zero?
12
12
  end
13
13
 
14
- def checksum
15
- addends.inject(:+)
16
- end
17
-
18
- def valid?
19
- checksum % 10 == 0
20
- end
21
-
22
- def self.create(num)
23
- [*0..9].each do |digit|
24
- possible = Luhn.new("#{num}#{digit}".to_i)
25
- return possible.num if possible.valid?
26
- end
27
- end
28
-
29
- private
30
- def raw_addends
31
- num.to_s.reverse.chars.map.with_index do |digit, index|
32
- index.odd? ? digit.to_i * 2 : digit.to_i
33
- end.reverse
34
- end
35
14
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luhnAlgorithmCheck
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Priyesh Shah