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.type).val() },
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
- ::CreditCardValidator::Validator.options[:allowed_card_types] = [(type || '').underscore.to_sym]
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[:type])
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
@@ -1,3 +1,3 @@
1
1
  module EvelpidonValidators
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.2"
3
3
  end
@@ -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 => { :type => :card_type }
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.0
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 00:00:00.000000000 Z
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: &16770240 !ruby/object:Gem::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: *16770240
25
+ version_requirements: *14644520
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activesupport
28
- requirement: &16769800 !ruby/object:Gem::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: *16769800
36
+ version_requirements: *14644080
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: evelpidon_test_helpers
39
- requirement: &16769340 !ruby/object:Gem::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: *16769340
47
+ version_requirements: *14643640
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: test-unit
50
- requirement: &16768860 !ruby/object:Gem::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: *16768860
58
+ version_requirements: *14643140
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: activemodel
61
- requirement: &16768380 !ruby/object:Gem::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: *16768380
69
+ version_requirements: *14642660
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: credit_card_validator
72
- requirement: &16767920 !ruby/object:Gem::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: *16767920
80
+ version_requirements: *14642200
81
81
  description: Useful ActiveModel validators with ClientSideValidations support.
82
82
  email:
83
83
  - n.dimitrakopoulos@pamediakopes.gr