credit_card_validations 3.5.1 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +6 -2
- data/README.md +5 -5
- data/credit_card_validations.gemspec +10 -3
- data/lib/credit_card_validations/version.rb +1 -1
- data/spec/active_model_spec.rb +9 -9
- data/spec/credit_card_validations_spec.rb +33 -33
- data/spec/factory_spec.rb +2 -2
- data/spec/string_spec.rb +13 -13
- metadata +25 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c947efcf4ef54ace4e9c747430dc75dd1efe0570a260853d8c1eca1963b13ae5
|
4
|
+
data.tar.gz: a69886a9b837c4872b5bac9bed3dbc6a88757424d2b4303a2c5918f68548cd29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5407b4b003aca97df24c20e5145cb43ab90d7fa6a62b21a953fcd53f4a97d77b1bd4b564a71767c7639ce6b1fcd5e12b51f82a3c32255eeaf87b1f66e0e6474
|
7
|
+
data.tar.gz: 6b472410891b0519878b6894222460e042afae072070a5cc22f4af0fbc7773ab01a19a2f12d61572934bbfa3107a672556c128dfe45cd89490bbd709c7f5fd85
|
data/.travis.yml
CHANGED
@@ -6,6 +6,7 @@ rvm:
|
|
6
6
|
- 2.4.5
|
7
7
|
- 2.5.3
|
8
8
|
- 2.6.3
|
9
|
+
- 3.0.0
|
9
10
|
- jruby-9.1.15.0
|
10
11
|
gemfile:
|
11
12
|
- gemfiles/rails1-4.gemfile
|
@@ -20,9 +21,12 @@ matrix:
|
|
20
21
|
rvm: 2.5.3
|
21
22
|
- gemfile: gemfiles/rails1-4.gemfile
|
22
23
|
rvm: 2.6.3
|
23
|
-
|
24
|
+
- gemfile: gemfiles/rails1-4.gemfile
|
25
|
+
rvm: 3.0.0
|
26
|
+
allow_failures:
|
27
|
+
- rvm: 2.1.10
|
24
28
|
|
25
29
|
before_install:
|
26
30
|
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
27
31
|
- gem install bundler -v '< 2'
|
28
|
-
- export BUNDLE_PATH="${TRAVIS_BUILD_DIR}/vendor/bundle"
|
32
|
+
- export BUNDLE_PATH="${TRAVIS_BUILD_DIR}/vendor/bundle"
|
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# CreditCardValidations
|
2
2
|
|
3
|
-
[![Build Status](http://img.shields.io/travis/
|
3
|
+
[![Build Status](http://img.shields.io/travis/didww/credit_card_validations.svg)](https://travis-ci.org/didww/credit_card_validations)
|
4
4
|
[![Coverage Status](http://img.shields.io/coveralls/Fivell/credit_card_validations.svg)](https://coveralls.io/r/Fivell/credit_card_validations)
|
5
5
|
[![Gem Version](http://img.shields.io/gem/v/credit_card_validations.svg)](https://rubygems.org/gems/credit_card_validations)
|
6
|
-
[![License](http://img.shields.io/:license-mit-blue.svg)](http://
|
6
|
+
[![License](http://img.shields.io/:license-mit-blue.svg)](http://didww.mit-license.org)
|
7
7
|
|
8
8
|
|
9
9
|
Gem adds validator to check whether or not a given number actually falls within the ranges of possible numbers prior to performing such verification, and, as such, CreditCardValidations simply verifies that the credit card number provided is well-formed.
|
@@ -55,7 +55,7 @@ The following issuing institutes are accepted:
|
|
55
55
|
|
56
56
|
|
57
57
|
|
58
|
-
The following are supported with
|
58
|
+
The following are supported with plugins
|
59
59
|
|
60
60
|
| Name | Key |
|
61
61
|
--------------------- | ------------|
|
@@ -129,7 +129,7 @@ CreditCardValidations::Detector.delete_brand(:maestro)
|
|
129
129
|
CreditCardValidations::Detector.new(@credit_card_number).valid_luhn?
|
130
130
|
#or
|
131
131
|
CreditCardValidations::Luhn.valid?(@credit_card_number)
|
132
|
-
```
|
132
|
+
```
|
133
133
|
|
134
134
|
### Generate credit card numbers that pass validation
|
135
135
|
|
@@ -140,7 +140,7 @@ CreditCardValidations::Factory.random(:maestro)
|
|
140
140
|
# => "6010430241237266856"
|
141
141
|
```
|
142
142
|
|
143
|
-
### Plugins
|
143
|
+
### Plugins
|
144
144
|
|
145
145
|
```ruby
|
146
146
|
require 'credit_card_validations/plugins/en_route'
|
@@ -10,8 +10,14 @@ Gem::Specification.new do |gem|
|
|
10
10
|
gem.email = ["fedoronchuk@gmail.com"]
|
11
11
|
gem.description = %q{A ruby gem for validating credit card numbers}
|
12
12
|
gem.summary = "gem should be used for credit card numbers validation, card brands detections, luhn checks"
|
13
|
-
gem.homepage = "http://
|
13
|
+
gem.homepage = "http://didww.github.io/credit_card_validations/"
|
14
14
|
gem.license = "MIT"
|
15
|
+
|
16
|
+
gem.metadata = {
|
17
|
+
'bug_tracker_uri' => 'https://github.com/didww/credit_card_validations/issues',
|
18
|
+
'changelog_uri' => 'https://github.com/didww/credit_card_validations/blob/master/Changelog.md',
|
19
|
+
'source_code_uri' => 'https://github.com/didww/credit_card_validations'
|
20
|
+
}
|
15
21
|
|
16
22
|
gem.files = `git ls-files`.split($/)
|
17
23
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
@@ -19,10 +25,11 @@ Gem::Specification.new do |gem|
|
|
19
25
|
gem.require_paths = ["lib"]
|
20
26
|
|
21
27
|
|
22
|
-
gem.add_dependency "activemodel", ">= 3", "<= 6.
|
23
|
-
gem.add_dependency "activesupport", ">= 3", "<= 6.
|
28
|
+
gem.add_dependency "activemodel", ">= 3", "<= 6.2"
|
29
|
+
gem.add_dependency "activesupport", ">= 3", "<= 6.2"
|
24
30
|
|
25
31
|
|
32
|
+
gem.add_development_dependency "minitest", '~> 5.14.3'
|
26
33
|
gem.add_development_dependency "mocha", '1.1.0'
|
27
34
|
gem.add_development_dependency 'rake', '~> 10'
|
28
35
|
|
data/spec/active_model_spec.rb
CHANGED
@@ -9,9 +9,9 @@ describe 'ActiveModel Validator' do
|
|
9
9
|
card = model.dup
|
10
10
|
card.card_type = 'Master Card'
|
11
11
|
card.number6 = CreditCardValidations::Factory.random(:visa)
|
12
|
-
card.valid
|
12
|
+
expect(card.valid?).must_equal false
|
13
13
|
card.number6 = CreditCardValidations::Factory.random(:mastercard)
|
14
|
-
card.valid
|
14
|
+
expect(card.valid?).must_equal true
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
@@ -22,7 +22,7 @@ describe 'ActiveModel Validator' do
|
|
22
22
|
card = model
|
23
23
|
card.number4 = number
|
24
24
|
card.number5 = number
|
25
|
-
card.valid
|
25
|
+
expect(card.valid?).must_equal true
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -33,8 +33,8 @@ describe 'ActiveModel Validator' do
|
|
33
33
|
VALID_NUMBERS.except(:amex, :maestro).each do |_, numbers|
|
34
34
|
card = model
|
35
35
|
card.number = numbers.first
|
36
|
-
card.valid
|
37
|
-
card.errors[:number].include?(card.errors.generate_message(:number, :invalid)).must_equal true
|
36
|
+
expect(card.valid?).must_equal false
|
37
|
+
expect(card.errors[:number].include?(card.errors.generate_message(:number, :invalid))).must_equal true
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
@@ -42,7 +42,7 @@ describe 'ActiveModel Validator' do
|
|
42
42
|
VALID_NUMBERS.except(:amex, :maestro).each do |_, numbers|
|
43
43
|
card = model
|
44
44
|
card.number3 = numbers.first
|
45
|
-
card.valid
|
45
|
+
expect(card.valid?).must_equal true
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
@@ -53,7 +53,7 @@ describe 'ActiveModel Validator' do
|
|
53
53
|
card = model
|
54
54
|
card.number = numbers.first
|
55
55
|
card.number2 = numbers.first
|
56
|
-
card.valid
|
56
|
+
expect(card.valid?).must_equal true
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
@@ -62,8 +62,8 @@ describe 'ActiveModel Validator' do
|
|
62
62
|
it 'should allow custom message' do
|
63
63
|
card = model
|
64
64
|
card.number7 = 'wrong'
|
65
|
-
card.valid
|
66
|
-
card.errors[:number7].must_equal ['Custom message']
|
65
|
+
expect(card.valid?).must_equal false
|
66
|
+
expect(card.errors[:number7]).must_equal ['Custom message']
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
@@ -10,7 +10,7 @@ describe CreditCardValidations do
|
|
10
10
|
describe 'MMI' do
|
11
11
|
it 'should detect issuer category' do
|
12
12
|
d = detector(VALID_NUMBERS[:visa].first)
|
13
|
-
d.issuer_category.must_equal CreditCardValidations::Mmi::ISSUER_CATEGORIES[d.number[0]]
|
13
|
+
expect(d.issuer_category).must_equal CreditCardValidations::Mmi::ISSUER_CATEGORIES[d.number[0]]
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
@@ -20,17 +20,17 @@ describe CreditCardValidations do
|
|
20
20
|
}
|
21
21
|
it 'should call Luhn.valid? once' do
|
22
22
|
CreditCardValidations::Luhn.expects(:valid?).with(card_detector.number).once
|
23
|
-
card_detector.valid?(:visa, :unionpay).must_equal true
|
23
|
+
expect(card_detector.valid?(:visa, :unionpay)).must_equal true
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'should call Luhn.valid? twice' do
|
27
27
|
CreditCardValidations::Luhn.expects(:valid?).with(card_detector.number).twice
|
28
|
-
card_detector.valid?(:visa, :mastercard).must_equal false
|
28
|
+
expect(card_detector.valid?(:visa, :mastercard)).must_equal false
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'should not call Luhn.valid?' do
|
32
32
|
CreditCardValidations::Luhn.expects(:valid?).never
|
33
|
-
card_detector.valid?(:unionpay).must_equal true
|
33
|
+
expect(card_detector.valid?(:unionpay)).must_equal true
|
34
34
|
end
|
35
35
|
|
36
36
|
end
|
@@ -40,7 +40,7 @@ describe CreditCardValidations do
|
|
40
40
|
VALID_NUMBERS.each do |brand, card_numbers|
|
41
41
|
if has_luhn_check_rule?(brand)
|
42
42
|
card_numbers.each do |number|
|
43
|
-
luhn_valid?(detector(number).number).must_equal true
|
43
|
+
expect(luhn_valid?(detector(number).number)).must_equal true
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
@@ -49,56 +49,56 @@ describe CreditCardValidations do
|
|
49
49
|
it 'should check valid brand' do
|
50
50
|
VALID_NUMBERS.each do |brand, card_numbers|
|
51
51
|
card_numbers.each do |card_number|
|
52
|
-
detector(card_number).send("#{brand}?").must_equal true
|
53
|
-
detector(card_number).brand.must_equal brand
|
52
|
+
expect(detector(card_number).send("#{brand}?")).must_equal true
|
53
|
+
expect(detector(card_number).brand).must_equal brand
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
58
|
it 'should check if card invalid' do
|
59
59
|
INVALID_NUMBERS.each do |card_number|
|
60
|
-
detector(card_number).valid
|
61
|
-
detector(card_number).brand.must_be_nil
|
60
|
+
expect(detector(card_number).valid?).must_equal false
|
61
|
+
expect(detector(card_number).brand).must_be_nil
|
62
62
|
VALID_NUMBERS.keys.each do |brand|
|
63
|
-
detector(card_number).send("#{brand}?").must_equal false
|
63
|
+
expect(detector(card_number).send("#{brand}?")).must_equal false
|
64
64
|
end
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
68
|
it 'should detect by full brand name' do
|
69
69
|
amex = CreditCardValidations::Factory.random(:amex)
|
70
|
-
detector(amex).valid?('American Express').must_equal true
|
70
|
+
expect(detector(amex).valid?('American Express')).must_equal true
|
71
71
|
visa = CreditCardValidations::Factory.random(:visa)
|
72
|
-
detector(visa).valid?('American Express').must_equal false
|
72
|
+
expect(detector(visa).valid?('American Express')).must_equal false
|
73
73
|
end
|
74
74
|
|
75
75
|
it 'should support multiple brands for single check' do
|
76
76
|
VALID_NUMBERS.slice(:visa, :mastercard).each do |key, value|
|
77
|
-
detector(value.first).brand(:visa, :mastercard).must_equal key
|
77
|
+
expect(detector(value.first).brand(:visa, :mastercard)).must_equal key
|
78
78
|
end
|
79
79
|
|
80
80
|
VALID_NUMBERS.except(:visa, :mastercard).each do |_, value|
|
81
|
-
detector(value.first).brand(:visa, :mastercard).must_be_nil
|
81
|
+
expect(detector(value.first).brand(:visa, :mastercard)).must_be_nil
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
85
85
|
it 'should check if valid brand without arguments' do
|
86
86
|
VALID_NUMBERS.each do |key, value|
|
87
87
|
value.each do |card_number|
|
88
|
-
detector(card_number).valid?(key).must_equal true
|
89
|
-
assert detector(card_number).valid
|
88
|
+
expect(detector(card_number).valid?(key)).must_equal true
|
89
|
+
expect(assert detector(card_number).valid?).must_equal true
|
90
90
|
end
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
94
|
it 'should not be valid? if wrong brand' do
|
95
|
-
detector(VALID_NUMBERS[:visa].first).valid?(:mastercard).must_equal false
|
96
|
-
detector(VALID_NUMBERS[:mastercard].first).valid?(:visa).must_equal false
|
95
|
+
expect(detector(VALID_NUMBERS[:visa].first).valid?(:mastercard)).must_equal false
|
96
|
+
expect(detector(VALID_NUMBERS[:mastercard].first).valid?(:visa)).must_equal false
|
97
97
|
end
|
98
98
|
|
99
99
|
it 'should be valid? if right brand' do
|
100
|
-
detector(VALID_NUMBERS[:visa].first).valid?(:mastercard, :visa).must_equal true
|
101
|
-
detector(VALID_NUMBERS[:visa].first).valid?(:mastercard, :amex).must_equal false
|
100
|
+
expect(detector(VALID_NUMBERS[:visa].first).valid?(:mastercard, :visa)).must_equal true
|
101
|
+
expect(detector(VALID_NUMBERS[:visa].first).valid?(:mastercard, :amex)).must_equal false
|
102
102
|
end
|
103
103
|
|
104
104
|
|
@@ -110,9 +110,9 @@ describe CreditCardValidations do
|
|
110
110
|
|
111
111
|
it 'should validate number as voyager' do
|
112
112
|
CreditCardValidations::Detector.add_brand(:voyager, length: 15, prefixes: '86')
|
113
|
-
detector(voyager_number).valid?(:voyager).must_equal true
|
114
|
-
detector(voyager_number).voyager
|
115
|
-
detector(voyager_number).brand.must_equal :voyager
|
113
|
+
expect(detector(voyager_number).valid?(:voyager)).must_equal true
|
114
|
+
expect(detector(voyager_number).voyager?).must_equal true
|
115
|
+
expect(detector(voyager_number).brand).must_equal :voyager
|
116
116
|
end
|
117
117
|
|
118
118
|
describe 'Add voyager rule' do
|
@@ -121,9 +121,9 @@ describe CreditCardValidations do
|
|
121
121
|
end
|
122
122
|
|
123
123
|
it 'should validate number as voyager' do
|
124
|
-
detector(voyager_number).valid?(:voyager).must_equal true
|
125
|
-
detector(voyager_number).voyager
|
126
|
-
detector(voyager_number).brand.must_equal :voyager
|
124
|
+
expect(detector(voyager_number).valid?(:voyager)).must_equal true
|
125
|
+
expect(detector(voyager_number).voyager?).must_equal true
|
126
|
+
expect(detector(voyager_number).brand).must_equal :voyager
|
127
127
|
end
|
128
128
|
|
129
129
|
describe 'Remove voyager rule' do
|
@@ -132,8 +132,8 @@ describe CreditCardValidations do
|
|
132
132
|
end
|
133
133
|
|
134
134
|
it 'should not validate number as voyager' do
|
135
|
-
detector(voyager_number).respond_to?(:voyager?).must_equal false
|
136
|
-
detector(voyager_number).brand.must_be_nil
|
135
|
+
expect(detector(voyager_number).respond_to?(:voyager?)).must_equal false
|
136
|
+
expect(detector(voyager_number).brand).must_be_nil
|
137
137
|
end
|
138
138
|
end
|
139
139
|
end
|
@@ -142,20 +142,20 @@ describe CreditCardValidations do
|
|
142
142
|
describe 'plugins' do
|
143
143
|
[:diners_us, :en_route, :laser].each do |brand|
|
144
144
|
it "should support #{brand}" do
|
145
|
-
-> { CreditCardValidations::Factory.random(brand) }.
|
145
|
+
expect(-> { CreditCardValidations::Factory.random(brand) }).
|
146
146
|
must_raise(CreditCardValidations::Error)
|
147
147
|
custom_number = 'some_number'
|
148
|
-
detector(custom_number).respond_to?("#{brand}?").must_equal false
|
148
|
+
expect(detector(custom_number).respond_to?("#{brand}?")).must_equal false
|
149
149
|
require "credit_card_validations/plugins/#{brand}"
|
150
150
|
number = CreditCardValidations::Factory.random(brand)
|
151
|
-
detector(number).valid?("#{brand}".to_sym).must_equal true
|
152
|
-
detector(custom_number).respond_to?("#{brand}?").must_equal true
|
151
|
+
expect(detector(number).valid?("#{brand}".to_sym)).must_equal true
|
152
|
+
expect(detector(custom_number).respond_to?("#{brand}?")).must_equal true
|
153
153
|
end
|
154
154
|
end
|
155
155
|
end
|
156
156
|
|
157
157
|
it 'should raise Error if no brand added before' do
|
158
|
-
-> { CreditCardValidations::Detector::add_rule(:undefined_brand, 20, [20]) }.
|
158
|
+
expect(-> { CreditCardValidations::Detector::add_rule(:undefined_brand, 20, [20]) }).
|
159
159
|
must_raise(CreditCardValidations::Error)
|
160
160
|
end
|
161
161
|
end
|
data/spec/factory_spec.rb
CHANGED
@@ -4,14 +4,14 @@ describe CreditCardValidations::Factory do
|
|
4
4
|
|
5
5
|
it 'should generate random brand' do
|
6
6
|
number = CreditCardValidations::Factory.random
|
7
|
-
CreditCardValidations::Detector.new(number).valid
|
7
|
+
expect(CreditCardValidations::Detector.new(number).valid?).must_equal true
|
8
8
|
end
|
9
9
|
|
10
10
|
CreditCardValidations::Detector.brands.keys.sort.each do |key|
|
11
11
|
describe "#{key}" do
|
12
12
|
it "should generate valid #{key}" do
|
13
13
|
number = CreditCardValidations::Factory.random(key)
|
14
|
-
CreditCardValidations::Detector.new(number).valid?(key).must_equal true
|
14
|
+
expect(CreditCardValidations::Detector.new(number).valid?(key)).must_equal true
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
data/spec/string_spec.rb
CHANGED
@@ -8,25 +8,25 @@ describe 'String ext' do
|
|
8
8
|
let(:invalid) { INVALID_NUMBERS.sample }
|
9
9
|
|
10
10
|
it 'should allow detect brand for mastercard' do
|
11
|
-
mastercard.credit_card_brand.must_equal :mastercard
|
12
|
-
mastercard.credit_card_brand_name.must_equal 'MasterCard'
|
13
|
-
mastercard.valid_credit_card_brand?(:mastercard).must_equal true
|
14
|
-
mastercard.valid_credit_card_brand?('MasterCard').must_equal true
|
15
|
-
mastercard.valid_credit_card_brand?(:visa, :amex).must_equal false
|
11
|
+
expect(mastercard.credit_card_brand).must_equal :mastercard
|
12
|
+
expect(mastercard.credit_card_brand_name).must_equal 'MasterCard'
|
13
|
+
expect(mastercard.valid_credit_card_brand?(:mastercard)).must_equal true
|
14
|
+
expect(mastercard.valid_credit_card_brand?('MasterCard')).must_equal true
|
15
|
+
expect(mastercard.valid_credit_card_brand?(:visa, :amex)).must_equal false
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'should allow detect brand for visa' do
|
19
|
-
visa.credit_card_brand.must_equal :visa
|
20
|
-
visa.credit_card_brand_name.must_equal 'Visa'
|
21
|
-
visa.valid_credit_card_brand?(:mastercard).must_equal false
|
22
|
-
visa.valid_credit_card_brand?(:visa, :amex).must_equal true
|
19
|
+
expect(visa.credit_card_brand).must_equal :visa
|
20
|
+
expect(visa.credit_card_brand_name).must_equal 'Visa'
|
21
|
+
expect(visa.valid_credit_card_brand?(:mastercard)).must_equal false
|
22
|
+
expect(visa.valid_credit_card_brand?(:visa, :amex)).must_equal true
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'should not allow detect brand for invalid card' do
|
26
|
-
invalid.credit_card_brand.must_be_nil
|
27
|
-
invalid.credit_card_brand_name.must_be_nil
|
28
|
-
invalid.valid_credit_card_brand?(:mastercard).must_equal false
|
29
|
-
invalid.valid_credit_card_brand?(:visa, :amex).must_equal false
|
26
|
+
expect(invalid.credit_card_brand).must_be_nil
|
27
|
+
expect(invalid.credit_card_brand_name).must_be_nil
|
28
|
+
expect(invalid.valid_credit_card_brand?(:mastercard)).must_equal false
|
29
|
+
expect(invalid.valid_credit_card_brand?(:visa, :amex)).must_equal false
|
30
30
|
end
|
31
31
|
|
32
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: credit_card_validations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '3'
|
20
20
|
- - "<="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '6.
|
22
|
+
version: '6.2'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '3'
|
30
30
|
- - "<="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '6.
|
32
|
+
version: '6.2'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: activesupport
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
version: '3'
|
40
40
|
- - "<="
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '6.
|
42
|
+
version: '6.2'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -49,7 +49,21 @@ dependencies:
|
|
49
49
|
version: '3'
|
50
50
|
- - "<="
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '6.
|
52
|
+
version: '6.2'
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: minitest
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 5.14.3
|
60
|
+
type: :development
|
61
|
+
prerelease: false
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - "~>"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 5.14.3
|
53
67
|
- !ruby/object:Gem::Dependency
|
54
68
|
name: mocha
|
55
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -117,10 +131,13 @@ files:
|
|
117
131
|
- spec/models/credit_card.rb
|
118
132
|
- spec/string_spec.rb
|
119
133
|
- spec/test_helper.rb
|
120
|
-
homepage: http://
|
134
|
+
homepage: http://didww.github.io/credit_card_validations/
|
121
135
|
licenses:
|
122
136
|
- MIT
|
123
|
-
metadata:
|
137
|
+
metadata:
|
138
|
+
bug_tracker_uri: https://github.com/didww/credit_card_validations/issues
|
139
|
+
changelog_uri: https://github.com/didww/credit_card_validations/blob/master/Changelog.md
|
140
|
+
source_code_uri: https://github.com/didww/credit_card_validations
|
124
141
|
post_install_message:
|
125
142
|
rdoc_options: []
|
126
143
|
require_paths:
|