credit_card_validations 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,16 @@
1
+ module ActiveModel
2
+ module Validations
3
+ class CreditCardNumberValidator < EachValidator
4
+
5
+ def validate_each(record, attribute, value)
6
+ brands = options.fetch(:brands)
7
+ record.errors[attribute] << (options[:message] || "is not valid") unless credit_card_valid?(value, Array.wrap(brands))
8
+ end
9
+
10
+ def credit_card_valid?(number, brands = [])
11
+ CreditCardValidations::Detector.new(number).valid?(*brands)
12
+ end
13
+ end
14
+ end
15
+ end
16
+
@@ -1,8 +1,8 @@
1
1
  require 'credit_card_validations/version'
2
2
  require 'active_model'
3
- require 'active_support/all'
3
+ require 'active_support/core_ext'
4
4
  require 'active_model/validations'
5
- require 'credit_card_number_validator'
5
+ require 'active_model/credit_card_number_validator'
6
6
 
7
7
  module CreditCardValidations
8
8
  extend ActiveSupport::Autoload
@@ -22,7 +22,7 @@ module CreditCardValidations
22
22
  def valid_number?(*brands)
23
23
  return nil unless valid_luhn?
24
24
  number_length = number.length
25
- brand_rules = brands.blank? ? self.rules : self.rules.slice(*brands.map{|el| el.downcase })
25
+ brand_rules = brands.blank? ? self.rules : self.rules.slice(*brands.map{ |el| el.downcase })
26
26
  unless brand_rules.blank?
27
27
  brand_rules.each do |brand_name, rules|
28
28
  rules.each do |rule|
@@ -1,3 +1,3 @@
1
1
  module CreditCardValidations
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
@@ -14,7 +14,6 @@ class CreditCardValidationsTest < Test::Unit::TestCase
14
14
  validates :number, presence: true, credit_card_number: {brands: [:amex, :maestro]}
15
15
  end
16
16
 
17
-
18
17
  def initialize name
19
18
  super name
20
19
  @test_numbers = {
@@ -79,7 +78,7 @@ class CreditCardValidationsTest < Test::Unit::TestCase
79
78
  cc.number = @test_numbers[:mastercard]
80
79
  assert !cc.valid?
81
80
  cc.number = @test_numbers[:amex]
82
- assert cc.valid?
81
+ assert cc.valid?
83
82
  end
84
83
 
85
84
  def test_string_extension
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: credit_card_validations
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-04-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
16
- requirement: &70312995369880 !ruby/object:Gem::Requirement
16
+ requirement: &70129509894700 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70312995369880
24
+ version_requirements: *70129509894700
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &70312995369380 !ruby/object:Gem::Requirement
27
+ requirement: &70129509900380 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '3.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70312995369380
35
+ version_requirements: *70129509900380
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: test-unit
38
- requirement: &70312995369000 !ruby/object:Gem::Requirement
38
+ requirement: &70129509896480 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70312995369000
46
+ version_requirements: *70129509896480
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &70312995384900 !ruby/object:Gem::Requirement
49
+ requirement: &70129509904920 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70312995384900
57
+ version_requirements: *70129509904920
58
58
  description: A ruby gem for validating credit card numbers (a port of ZF2 Zend\Validator\CreditCard)
59
59
  email:
60
60
  - fedoronchuk@gmail.com
@@ -67,7 +67,7 @@ files:
67
67
  - README.md
68
68
  - Rakefile
69
69
  - credit_card_validations.gemspec
70
- - lib/credit_card_number_validator.rb
70
+ - lib/active_model/credit_card_number_validator.rb
71
71
  - lib/credit_card_validations.rb
72
72
  - lib/credit_card_validations/card_rules.rb
73
73
  - lib/credit_card_validations/detector.rb
@@ -1,11 +0,0 @@
1
- class CreditCardNumberValidator < ActiveModel::EachValidator
2
-
3
- def validate_each(record, attribute, value)
4
- brands = options.fetch(:brands)
5
- record.errors[attribute] << (options[:message] || "is not valid") unless credit_card_valid?(value, Array.wrap(brands))
6
- end
7
-
8
- def credit_card_valid?(number, brands = [])
9
- CreditCardValidations::Detector.new(number).valid?(*brands)
10
- end
11
- end