ama_validators 0.0.11 → 0.0.12

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a026248ccb4a71bc69715c6b753a07b11985d312
4
- data.tar.gz: 932897f6b2e9d95eb48e09470f2ad93d5e9e36a9
3
+ metadata.gz: b7cd0ec1d63d3346d25bf45d17c5f737c7d60e32
4
+ data.tar.gz: dee42b51269ea2658cdfe587d825144ee2c928f0
5
5
  SHA512:
6
- metadata.gz: 4266690a6061879729cdf5c1fad7e95d03160dc10e5455ab8524f190a20841f05277739db614e3eb9cb3d9c5574a7ff67e3f18f9380e4f7dadabdab4202554d2
7
- data.tar.gz: 31afdd523cb66ce072c6d60a2e18f1d95890d855f49e754e1aab710ef1d0f1a19357c676159cb6feec7b28fb9d6c7b4cfa4c45673f5f8698a3c467a4b0d775ac
6
+ metadata.gz: a7afd829bd13299473396796be76a5d4d1dc33482704f6003d9efe1e5bbd2e4f998256df99485486629d0505ecc73f6f10da205fc54181a6d2bdff47201a9250
7
+ data.tar.gz: 5118c5f10713386b7ad75fac72d3835a62dd38c3acb02e202498e2f203ececc165215f84d96adb6b115e8968ed4510e081e19ed300a95d660f4f718a4d21ce67
@@ -0,0 +1,7 @@
1
+ class AlphanumericNameFormatValidator < ActiveModel::EachValidator
2
+ def validate_each(object, attribute, value)
3
+ unless value =~ /\A[\s\da-zA-ZÀàÂâÄäÈèÉéÊêËëÎîÏïÔôŒœÙùÛûÜüŸÿÇç,.'\-\)\(]+\z/
4
+ object.errors[attribute] << (options[:message] || "We're sorry your name cannot contain any special characters")
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module AmaValidators
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
@@ -9,5 +9,6 @@ module AmaValidators
9
9
  require 'ama_validators/phone_number_format_validator'
10
10
  require 'ama_validators/province_validator'
11
11
  require 'ama_validators/name_format_validator'
12
+ require 'ama_validators/alphanumeric_name_format_validator'
12
13
 
13
14
  end
@@ -0,0 +1,51 @@
1
+ require 'factories/profiles.rb'
2
+
3
+ describe AlphanumericNameFormatValidator do
4
+
5
+ let(:subject) { AlphanumericNameFormatValidator }
6
+ let (:object) { Profile.new }
7
+
8
+ invalid_names = %w[A%^dam G∫ Ra©©øøl œ∑´®††a †††¬∆µ ©ƒ∂ßåΩ ≈ç√∫µ@]
9
+ valid_names = %w[George Jerry Elaine Kramer Jean-François Noël étè 1234567890 Ltd.]
10
+
11
+ context 'Wrong name format' do
12
+ context 'No message is sent on the options' do
13
+ it 'it returns error message expecified on the validator' do
14
+ n = subject.new( { attributes: :first_name } )
15
+ invalid_names.each do |invalid_name|
16
+ expect(n.validate_each(object, :first_name, invalid_name)).to include("We're sorry your name cannot contain any special characters")
17
+ end
18
+ end
19
+ end
20
+
21
+ context 'Message is sent on the options' do
22
+ it 'it returns error message expecified on the options' do
23
+ n = subject.new( { message: 'Test error message', attributes: :first_name } )
24
+ invalid_names.each do |invalid_name|
25
+ expect(n.validate_each(object, :first_name, invalid_name)).to include('Test error message')
26
+ end
27
+ end
28
+ end
29
+ end
30
+
31
+ context 'Correct name format' do
32
+
33
+ context 'No message is sent on the options' do
34
+ it 'it does not return error message' do
35
+ n = subject.new( { attributes: :first_name } )
36
+ valid_names.each do |valid_name|
37
+ expect(n.validate_each(object, :first_name, valid_name)).to equal(nil)
38
+ end
39
+ end
40
+ end
41
+
42
+ context 'Message is sent on the options' do
43
+ it 'it does not return error message' do
44
+ n = subject.new( { message: 'Test error message', attributes: :first_name } )
45
+ valid_names.each do |valid_name|
46
+ expect(n.validate_each(object, :first_name, valid_name)).to equal(nil)
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ama_validators
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael van den Beuken
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2016-05-09 00:00:00.000000000 Z
16
+ date: 2016-05-31 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: bundler
@@ -136,6 +136,7 @@ files:
136
136
  - Rakefile
137
137
  - ama_validators.gemspec
138
138
  - lib/ama_validators.rb
139
+ - lib/ama_validators/alphanumeric_name_format_validator.rb
139
140
  - lib/ama_validators/credit_card_format_validator.rb
140
141
  - lib/ama_validators/email_format_validator.rb
141
142
  - lib/ama_validators/membership_number_format_validator.rb
@@ -144,6 +145,7 @@ files:
144
145
  - lib/ama_validators/postal_code_format_validator.rb
145
146
  - lib/ama_validators/province_validator.rb
146
147
  - lib/ama_validators/version.rb
148
+ - spec/alphanumeric_name_format_validator_spec.rb
147
149
  - spec/credit_card_format_validator_spec.rb
148
150
  - spec/email_format_validator_spec.rb
149
151
  - spec/factories/profiles.rb
@@ -173,13 +175,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
173
175
  version: '0'
174
176
  requirements: []
175
177
  rubyforge_project:
176
- rubygems_version: 2.2.0
178
+ rubygems_version: 2.4.5.1
177
179
  signing_key:
178
180
  specification_version: 4
179
181
  summary: This gem will compile the following validators - Credit card - Email - Membership
180
182
  number - Phone number - Postal code. With this gem there is no need for the validators
181
183
  classes.
182
184
  test_files:
185
+ - spec/alphanumeric_name_format_validator_spec.rb
183
186
  - spec/credit_card_format_validator_spec.rb
184
187
  - spec/email_format_validator_spec.rb
185
188
  - spec/factories/profiles.rb