evelpidon_validators 0.4.0 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Evelpidon Validators changelog
|
2
2
|
|
3
|
+
## 0.4.2 / 2012-01-16
|
4
|
+
|
5
|
+
* Fixed type deprecation warning added in the wrong place
|
6
|
+
|
7
|
+
## 0.4.1 / 2012-01-16
|
8
|
+
|
9
|
+
* Renamed credit card validator type option to type_attribute (type is deprecated)
|
10
|
+
* Type is optional for a credit card validation
|
11
|
+
|
3
12
|
## 0.4.0 / 2012-01-13
|
4
13
|
|
5
14
|
* Fix for nested forms and sibling finding
|
@@ -1,7 +1,7 @@
|
|
1
1
|
clientSideValidations.validators.remote['credit_card'] = function(element, options) {
|
2
2
|
if ($.ajax({
|
3
3
|
url: '/validators/credit_card.json',
|
4
|
-
data: { value: element.val(), type: clientSideValidations.helpers.getSiblingField(element, options.
|
4
|
+
data: { value: element.val(), type: clientSideValidations.helpers.getSiblingField(element, options.type_attribute).val() },
|
5
5
|
async: false
|
6
6
|
}).status == 404) { return options.message; }
|
7
7
|
};
|
@@ -7,13 +7,24 @@ end
|
|
7
7
|
module ActiveModel
|
8
8
|
module Validations
|
9
9
|
class CreditCardValidator < EachValidator
|
10
|
+
def initialize(options)
|
11
|
+
if options[:type]
|
12
|
+
warn "The :type option has been deprecated, please use :type_attribute instead."
|
13
|
+
options[:type_attribute] ||= options[:type]
|
14
|
+
end
|
15
|
+
|
16
|
+
super
|
17
|
+
end
|
18
|
+
|
10
19
|
def self.valid_credit_card?(number, type)
|
11
|
-
|
20
|
+
if type
|
21
|
+
::CreditCardValidator::Validator.options[:allowed_card_types] = [type.underscore.to_sym]
|
22
|
+
end
|
12
23
|
::CreditCardValidator::Validator.valid?(number)
|
13
24
|
end
|
14
25
|
|
15
26
|
def validate_each(record, attribute, value)
|
16
|
-
unless self.class.valid_credit_card? value, record.send(options[:
|
27
|
+
unless self.class.valid_credit_card? value, record.send(options[:type_attribute])
|
17
28
|
record.errors.add(attribute, :credit_card, options)
|
18
29
|
end
|
19
30
|
end
|
data/test/credit_card_test.rb
CHANGED
@@ -6,7 +6,7 @@ class CreditCardValidatorTest < ActiveSupport::TestCase
|
|
6
6
|
class Payment
|
7
7
|
include ActiveModel::Validations
|
8
8
|
attr_accessor :card_type, :card_number
|
9
|
-
validates :card_number, :credit_card => { :
|
9
|
+
validates :card_number, :credit_card => { :type_attribute => :card_type }
|
10
10
|
end
|
11
11
|
|
12
12
|
setup do
|
@@ -17,6 +17,7 @@ class CreditCardValidatorTest < ActiveSupport::TestCase
|
|
17
17
|
test "visa cards" do
|
18
18
|
assert_valid_card_type_and_number 'Visa', '4111111111111111'
|
19
19
|
assert_valid_card_type_and_number 'visa', '4111111111111111'
|
20
|
+
assert_valid_card_type_and_number nil, '4111111111111111'
|
20
21
|
|
21
22
|
assert_invalid_card_type_and_number 'MasterCard', '4111111111111111'
|
22
23
|
assert_invalid_card_type_and_number 'DinersClub', '4111111111111111'
|
@@ -28,6 +29,7 @@ class CreditCardValidatorTest < ActiveSupport::TestCase
|
|
28
29
|
test "master card cards" do
|
29
30
|
assert_valid_card_type_and_number 'MasterCard', '5555555555554444'
|
30
31
|
assert_valid_card_type_and_number 'master_card', '5555555555554444'
|
32
|
+
assert_valid_card_type_and_number nil, '5555555555554444'
|
31
33
|
|
32
34
|
assert_invalid_card_type_and_number 'Visa', '5555555555554444'
|
33
35
|
assert_invalid_card_type_and_number 'DinersClub', '5555555555554444'
|
@@ -39,6 +41,7 @@ class CreditCardValidatorTest < ActiveSupport::TestCase
|
|
39
41
|
test "diners club cards" do
|
40
42
|
assert_valid_card_type_and_number 'DinersClub', '30569309025904'
|
41
43
|
assert_valid_card_type_and_number 'diners_club', '30569309025904'
|
44
|
+
assert_valid_card_type_and_number nil, '30569309025904'
|
42
45
|
|
43
46
|
assert_invalid_card_type_and_number 'Visa', '30569309025904'
|
44
47
|
assert_invalid_card_type_and_number 'MasterCard', '30569309025904'
|
@@ -50,6 +53,7 @@ class CreditCardValidatorTest < ActiveSupport::TestCase
|
|
50
53
|
test "amex cards" do
|
51
54
|
assert_valid_card_type_and_number 'Amex', '371449635398431'
|
52
55
|
assert_valid_card_type_and_number 'amex', '371449635398431'
|
56
|
+
assert_valid_card_type_and_number nil, '371449635398431'
|
53
57
|
|
54
58
|
assert_invalid_card_type_and_number 'Visa', '371449635398431'
|
55
59
|
assert_invalid_card_type_and_number 'MasterCard', '371449635398431'
|
@@ -61,6 +65,7 @@ class CreditCardValidatorTest < ActiveSupport::TestCase
|
|
61
65
|
test "discover cards" do
|
62
66
|
assert_valid_card_type_and_number 'Discover', '6011000990139424'
|
63
67
|
assert_valid_card_type_and_number 'discover', '6011000990139424'
|
68
|
+
assert_valid_card_type_and_number nil, '6011000990139424'
|
64
69
|
|
65
70
|
assert_invalid_card_type_and_number 'Visa', '6011000990139424'
|
66
71
|
assert_invalid_card_type_and_number 'MasterCard', '6011000990139424'
|
@@ -72,6 +77,7 @@ class CreditCardValidatorTest < ActiveSupport::TestCase
|
|
72
77
|
test "maestro cards" do
|
73
78
|
assert_valid_card_type_and_number 'Maestro', '6759671431256542'
|
74
79
|
assert_valid_card_type_and_number 'maestro', '6759671431256542'
|
80
|
+
assert_valid_card_type_and_number nil, '6759671431256542'
|
75
81
|
|
76
82
|
assert_invalid_card_type_and_number 'Visa', '6759671431256542'
|
77
83
|
assert_invalid_card_type_and_number 'MasterCard', '6759671431256542'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: evelpidon_validators
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-01-
|
13
|
+
date: 2012-01-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
17
|
-
requirement: &
|
17
|
+
requirement: &14644520 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *14644520
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: activesupport
|
28
|
-
requirement: &
|
28
|
+
requirement: &14644080 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *14644080
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: evelpidon_test_helpers
|
39
|
-
requirement: &
|
39
|
+
requirement: &14643640 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *14643640
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: test-unit
|
50
|
-
requirement: &
|
50
|
+
requirement: &14643140 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *14643140
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: activemodel
|
61
|
-
requirement: &
|
61
|
+
requirement: &14642660 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *14642660
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: credit_card_validator
|
72
|
-
requirement: &
|
72
|
+
requirement: &14642200 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,7 +77,7 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *14642200
|
81
81
|
description: Useful ActiveModel validators with ClientSideValidations support.
|
82
82
|
email:
|
83
83
|
- n.dimitrakopoulos@pamediakopes.gr
|