evelpidon_validators 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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