ardm-validations 1.2.0

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.
Files changed (153) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +35 -0
  3. data/.travis.yml +11 -0
  4. data/Gemfile +51 -0
  5. data/LICENSE +21 -0
  6. data/README.rdoc +122 -0
  7. data/Rakefile +4 -0
  8. data/ardm-validations.gemspec +28 -0
  9. data/lib/ardm-validations.rb +1 -0
  10. data/lib/dm-validations.rb +169 -0
  11. data/lib/dm-validations/auto_validate.rb +252 -0
  12. data/lib/dm-validations/context.rb +66 -0
  13. data/lib/dm-validations/contextual_validators.rb +220 -0
  14. data/lib/dm-validations/exceptions.rb +5 -0
  15. data/lib/dm-validations/formats/email.rb +65 -0
  16. data/lib/dm-validations/formats/url.rb +27 -0
  17. data/lib/dm-validations/support/object.rb +18 -0
  18. data/lib/dm-validations/support/ordered_hash.rb +434 -0
  19. data/lib/dm-validations/validation_errors.rb +137 -0
  20. data/lib/dm-validations/validators/absent_field_validator.rb +58 -0
  21. data/lib/dm-validations/validators/acceptance_validator.rb +79 -0
  22. data/lib/dm-validations/validators/block_validator.rb +61 -0
  23. data/lib/dm-validations/validators/confirmation_validator.rb +92 -0
  24. data/lib/dm-validations/validators/format_validator.rb +124 -0
  25. data/lib/dm-validations/validators/generic_validator.rb +184 -0
  26. data/lib/dm-validations/validators/length_validator.rb +249 -0
  27. data/lib/dm-validations/validators/method_validator.rb +64 -0
  28. data/lib/dm-validations/validators/numeric_validator.rb +182 -0
  29. data/lib/dm-validations/validators/primitive_validator.rb +58 -0
  30. data/lib/dm-validations/validators/required_field_validator.rb +83 -0
  31. data/lib/dm-validations/validators/uniqueness_validator.rb +67 -0
  32. data/lib/dm-validations/validators/within_validator.rb +74 -0
  33. data/lib/dm-validations/version.rb +5 -0
  34. data/spec/fixtures/barcode.rb +40 -0
  35. data/spec/fixtures/basketball_court.rb +58 -0
  36. data/spec/fixtures/basketball_player.rb +34 -0
  37. data/spec/fixtures/beta_tester_account.rb +33 -0
  38. data/spec/fixtures/bill_of_landing.rb +47 -0
  39. data/spec/fixtures/boat_dock.rb +26 -0
  40. data/spec/fixtures/city.rb +24 -0
  41. data/spec/fixtures/company.rb +93 -0
  42. data/spec/fixtures/corporate_world.rb +39 -0
  43. data/spec/fixtures/country.rb +24 -0
  44. data/spec/fixtures/ethernet_frame.rb +56 -0
  45. data/spec/fixtures/event.rb +44 -0
  46. data/spec/fixtures/g3_concert.rb +57 -0
  47. data/spec/fixtures/jabberwock.rb +27 -0
  48. data/spec/fixtures/kayak.rb +28 -0
  49. data/spec/fixtures/lernean_hydra.rb +39 -0
  50. data/spec/fixtures/llama_spaceship.rb +15 -0
  51. data/spec/fixtures/mathematical_function.rb +34 -0
  52. data/spec/fixtures/memory_object.rb +30 -0
  53. data/spec/fixtures/mittelschnauzer.rb +39 -0
  54. data/spec/fixtures/motor_launch.rb +21 -0
  55. data/spec/fixtures/multibyte.rb +16 -0
  56. data/spec/fixtures/page.rb +32 -0
  57. data/spec/fixtures/phone_number.rb +28 -0
  58. data/spec/fixtures/pirogue.rb +28 -0
  59. data/spec/fixtures/programming_language.rb +83 -0
  60. data/spec/fixtures/reservation.rb +38 -0
  61. data/spec/fixtures/scm_operation.rb +56 -0
  62. data/spec/fixtures/sms_message.rb +22 -0
  63. data/spec/fixtures/udp_packet.rb +49 -0
  64. data/spec/integration/absent_field_validator/absent_field_validator_spec.rb +90 -0
  65. data/spec/integration/absent_field_validator/spec_helper.rb +7 -0
  66. data/spec/integration/acceptance_validator/acceptance_validator_spec.rb +196 -0
  67. data/spec/integration/acceptance_validator/spec_helper.rb +7 -0
  68. data/spec/integration/automatic_validation/custom_messages_for_inferred_validation_spec.rb +57 -0
  69. data/spec/integration/automatic_validation/disabling_inferred_validation_spec.rb +49 -0
  70. data/spec/integration/automatic_validation/inferred_boolean_properties_validation_spec.rb +100 -0
  71. data/spec/integration/automatic_validation/inferred_float_property_validation_spec.rb +45 -0
  72. data/spec/integration/automatic_validation/inferred_format_validation_spec.rb +35 -0
  73. data/spec/integration/automatic_validation/inferred_integer_properties_validation_spec.rb +70 -0
  74. data/spec/integration/automatic_validation/inferred_length_validation_spec.rb +142 -0
  75. data/spec/integration/automatic_validation/inferred_presence_validation_spec.rb +45 -0
  76. data/spec/integration/automatic_validation/inferred_primitive_validation_spec.rb +22 -0
  77. data/spec/integration/automatic_validation/inferred_uniqueness_validation_spec.rb +52 -0
  78. data/spec/integration/automatic_validation/inferred_within_validation_spec.rb +39 -0
  79. data/spec/integration/automatic_validation/spec_helper.rb +57 -0
  80. data/spec/integration/block_validator/block_validator_spec.rb +32 -0
  81. data/spec/integration/block_validator/spec_helper.rb +5 -0
  82. data/spec/integration/conditional_validation/if_condition_spec.rb +63 -0
  83. data/spec/integration/conditional_validation/spec_helper.rb +5 -0
  84. data/spec/integration/confirmation_validator/confirmation_validator_spec.rb +76 -0
  85. data/spec/integration/confirmation_validator/spec_helper.rb +5 -0
  86. data/spec/integration/datamapper_models/association_validation_spec.rb +29 -0
  87. data/spec/integration/datamapper_models/inheritance_spec.rb +82 -0
  88. data/spec/integration/dirty_attributes/dirty_attributes_spec.rb +13 -0
  89. data/spec/integration/duplicated_validations/duplicated_validations_spec.rb +24 -0
  90. data/spec/integration/duplicated_validations/spec_helper.rb +5 -0
  91. data/spec/integration/format_validator/email_format_validator_spec.rb +139 -0
  92. data/spec/integration/format_validator/format_validator_spec.rb +64 -0
  93. data/spec/integration/format_validator/regexp_validator_spec.rb +33 -0
  94. data/spec/integration/format_validator/spec_helper.rb +5 -0
  95. data/spec/integration/format_validator/url_format_validator_spec.rb +93 -0
  96. data/spec/integration/length_validator/default_value_spec.rb +14 -0
  97. data/spec/integration/length_validator/equality_spec.rb +87 -0
  98. data/spec/integration/length_validator/error_message_spec.rb +22 -0
  99. data/spec/integration/length_validator/maximum_spec.rb +49 -0
  100. data/spec/integration/length_validator/minimum_spec.rb +54 -0
  101. data/spec/integration/length_validator/range_spec.rb +87 -0
  102. data/spec/integration/length_validator/spec_helper.rb +7 -0
  103. data/spec/integration/method_validator/method_validator_spec.rb +241 -0
  104. data/spec/integration/method_validator/spec_helper.rb +5 -0
  105. data/spec/integration/numeric_validator/equality_with_float_type_spec.rb +65 -0
  106. data/spec/integration/numeric_validator/equality_with_integer_type_spec.rb +41 -0
  107. data/spec/integration/numeric_validator/float_type_spec.rb +90 -0
  108. data/spec/integration/numeric_validator/gt_with_float_type_spec.rb +37 -0
  109. data/spec/integration/numeric_validator/gte_with_float_type_spec.rb +37 -0
  110. data/spec/integration/numeric_validator/integer_only_true_spec.rb +91 -0
  111. data/spec/integration/numeric_validator/integer_type_spec.rb +86 -0
  112. data/spec/integration/numeric_validator/lt_with_float_type_spec.rb +37 -0
  113. data/spec/integration/numeric_validator/lte_with_float_type_spec.rb +37 -0
  114. data/spec/integration/numeric_validator/spec_helper.rb +5 -0
  115. data/spec/integration/primitive_validator/primitive_validator_spec.rb +92 -0
  116. data/spec/integration/primitive_validator/spec_helper.rb +5 -0
  117. data/spec/integration/pure_ruby_objects/plain_old_ruby_object_validation_spec.rb +118 -0
  118. data/spec/integration/required_field_validator/association_spec.rb +72 -0
  119. data/spec/integration/required_field_validator/boolean_type_value_spec.rb +155 -0
  120. data/spec/integration/required_field_validator/date_type_value_spec.rb +127 -0
  121. data/spec/integration/required_field_validator/datetime_type_value_spec.rb +127 -0
  122. data/spec/integration/required_field_validator/float_type_value_spec.rb +131 -0
  123. data/spec/integration/required_field_validator/integer_type_value_spec.rb +99 -0
  124. data/spec/integration/required_field_validator/plain_old_ruby_object_spec.rb +35 -0
  125. data/spec/integration/required_field_validator/shared_examples.rb +26 -0
  126. data/spec/integration/required_field_validator/spec_helper.rb +7 -0
  127. data/spec/integration/required_field_validator/string_type_value_spec.rb +167 -0
  128. data/spec/integration/required_field_validator/text_type_value_spec.rb +49 -0
  129. data/spec/integration/shared/default_validation_context.rb +13 -0
  130. data/spec/integration/shared/valid_and_invalid_model.rb +35 -0
  131. data/spec/integration/uniqueness_validator/spec_helper.rb +5 -0
  132. data/spec/integration/uniqueness_validator/uniqueness_validator_spec.rb +116 -0
  133. data/spec/integration/within_validator/spec_helper.rb +5 -0
  134. data/spec/integration/within_validator/within_validator_spec.rb +168 -0
  135. data/spec/public/resource_spec.rb +105 -0
  136. data/spec/rcov.opts +6 -0
  137. data/spec/spec.opts +4 -0
  138. data/spec/spec_helper.rb +29 -0
  139. data/spec/unit/contextual_validators/emptiness_spec.rb +50 -0
  140. data/spec/unit/contextual_validators/execution_spec.rb +48 -0
  141. data/spec/unit/contextual_validators/spec_helper.rb +37 -0
  142. data/spec/unit/generic_validator/equality_operator_spec.rb +26 -0
  143. data/spec/unit/generic_validator/optional_spec.rb +54 -0
  144. data/spec/unit/validation_errors/adding_spec.rb +54 -0
  145. data/spec/unit/validation_errors/emptiness_spec.rb +38 -0
  146. data/spec/unit/validation_errors/enumerable_spec.rb +32 -0
  147. data/spec/unit/validation_errors/reading_spec.rb +35 -0
  148. data/spec/unit/validation_errors/respond_to_spec.rb +15 -0
  149. data/spec/unit/validators/within_validator_spec.rb +23 -0
  150. data/tasks/spec.rake +38 -0
  151. data/tasks/yard.rake +9 -0
  152. data/tasks/yardstick.rake +19 -0
  153. metadata +256 -0
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'DataMapper::Validations::GenericValidator' do
4
+ describe "when types and fields are equal" do
5
+ it "returns true" do
6
+ DataMapper::Validations::PresenceValidator.new(:name).
7
+ should == DataMapper::Validations::PresenceValidator.new(:name)
8
+ end
9
+ end
10
+
11
+
12
+ describe "when types differ" do
13
+ it "returns false" do
14
+ DataMapper::Validations::PresenceValidator.new(:name).
15
+ should_not == DataMapper::Validations::UniquenessValidator.new(:name)
16
+ end
17
+ end
18
+
19
+
20
+ describe "when property names differ" do
21
+ it "returns false" do
22
+ DataMapper::Validations::PresenceValidator.new(:first_name).
23
+ should_not == DataMapper::Validations::PresenceValidator.new(:last_name)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,54 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'DataMapper::Validations::GenericValidator', '#optional?' do
4
+ def validator(opts = {})
5
+ DataMapper::Validations::LengthValidator.new(:name, opts)
6
+ end
7
+
8
+ describe 'allowing blank' do
9
+ subject do
10
+ validator(
11
+ :allow_blank => true
12
+ )
13
+ end
14
+
15
+ it { subject.optional?("" ).should be }
16
+ it { subject.optional?(nil).should be }
17
+ end
18
+
19
+ describe 'allowing nil' do
20
+ subject do
21
+ validator(
22
+ :allow_nil => true
23
+ )
24
+ end
25
+
26
+ it { subject.optional?("" ).should_not be }
27
+ it { subject.optional?(nil).should be }
28
+ end
29
+
30
+ describe 'allowing blank, but now allowing nil' do
31
+ subject do
32
+ validator(
33
+ :allow_blank => true,
34
+ :allow_nil => false
35
+ )
36
+ end
37
+
38
+ it { subject.optional?("" ).should be }
39
+ it { subject.optional?(nil).should_not be }
40
+ end
41
+
42
+ describe 'allowing nil, but now allowing blank' do
43
+ subject do
44
+ validator(
45
+ :allow_blank => false,
46
+ :allow_nil => true
47
+ )
48
+ end
49
+
50
+ it { subject.optional?("" ).should_not be }
51
+ it { subject.optional?(nil).should be }
52
+ end
53
+
54
+ end
@@ -0,0 +1,54 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'spec_helper'
3
+
4
+ describe 'DataMapper::Validations::ValidationErrors' do
5
+ before :all do
6
+ @model = DataMapper::Validations::ValidationErrors.new(Object.new)
7
+ end
8
+
9
+ describe "after first error being added" do
10
+ before :all do
11
+ @model.add(:property, "can't be valid, no way")
12
+ end
13
+
14
+ it "is no longer empty" do
15
+ @model.should_not be_empty
16
+ end
17
+
18
+ it "adds error message to list of errors for given property name" do
19
+ @model.on(:property).should == ["can't be valid, no way"]
20
+ end
21
+ end
22
+
23
+
24
+ describe "after second error being added" do
25
+ before :all do
26
+ @model.add(:property, "can't be valid, no way")
27
+ @model.add(:property, "something else is wrong")
28
+ end
29
+
30
+ it "is no longer empty" do
31
+ @model.should_not be_empty
32
+ end
33
+
34
+ it "appends error message to list of errors for given property name" do
35
+ @model.on(:property).should == ["can't be valid, no way", "something else is wrong"]
36
+ end
37
+ end
38
+
39
+
40
+ describe "when duplicate error being added" do
41
+ before :all do
42
+ @model.add(:property, "can't be valid, no way")
43
+ @model.add(:property, "can't be valid, no way")
44
+ end
45
+
46
+ it "is no longer empty" do
47
+ @model.should_not be_empty
48
+ end
49
+
50
+ it "DOES NOT allow duplication" do
51
+ @model.on(:property).should == ["can't be valid, no way"]
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,38 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'spec_helper'
3
+
4
+ describe 'DataMapper::Validations::ValidationErrors' do
5
+ before :all do
6
+ @model = DataMapper::Validations::ValidationErrors.new(Object.new)
7
+ end
8
+
9
+ describe "initially" do
10
+ it "is empty" do
11
+ @model.should be_empty
12
+ end
13
+ end
14
+
15
+ # Not sure if this is worth having at all,
16
+ # just keeping old spec suite bits in place
17
+ # if they make no harm — MK
18
+ describe "after enquiry" do
19
+ before :all do
20
+ @model.on(:property)
21
+ end
22
+
23
+ it "is still empty" do
24
+ @model.should be_empty
25
+ end
26
+ end
27
+
28
+
29
+ describe "after errors being added" do
30
+ before :all do
31
+ @model.add(:property, "can't be valid, no way")
32
+ end
33
+
34
+ it "is no longer empty" do
35
+ @model.should_not be_empty
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,32 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'spec_helper'
3
+
4
+ describe 'DataMapper::Validations::ValidationErrors' do
5
+ before :all do
6
+ @model = DataMapper::Validations::ValidationErrors.new(Object.new)
7
+ @model.add(:ip_address, "must have valid format")
8
+ @model.add(:full_name, "can't be blank")
9
+ end
10
+
11
+ describe "#each" do
12
+ it "iterates over properties and yields error message arrays" do
13
+ params = []
14
+ @model.each do |param|
15
+ params << param
16
+ end
17
+
18
+ params.should == [ [ 'must have valid format' ], [ "can't be blank" ] ]
19
+ end
20
+ end
21
+
22
+
23
+ describe "#map" do
24
+ before :all do
25
+ @model.add(:ip_address, "must belong to a local subnet")
26
+ end
27
+ it "maps error message arrays using provided block" do
28
+ projection = @model.map { |ary| ary }
29
+ projection.should == [ [ 'must have valid format', 'must belong to a local subnet' ], [ "can't be blank" ] ]
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,35 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'spec_helper'
3
+
4
+ shared_examples_for 'a validation error reader' do
5
+ context 'and that property has no associated errors' do
6
+ it 'should return an empty array' do
7
+ @errors[@property].should == []
8
+ end
9
+ end
10
+ context 'and that property has associated error(s)' do
11
+ it 'should return a non empty array' do
12
+ @errors.add(@property.to_sym, 'invalid')
13
+ @errors[@property].should_not be_empty
14
+ end
15
+ end
16
+ end
17
+
18
+ describe 'DataMapper::Validations::ValidationErrors' do
19
+ describe '[]' do
20
+ describe 'when passing the argument as a String' do
21
+ before(:each) do
22
+ @errors = DataMapper::Validations::ValidationErrors.new(Object.new)
23
+ @property = 'name'
24
+ end
25
+ it_should_behave_like 'a validation error reader'
26
+ end
27
+ describe 'when passing the argument as a Symbol' do
28
+ before(:each) do
29
+ @errors = DataMapper::Validations::ValidationErrors.new(Object.new)
30
+ @property = :name
31
+ end
32
+ it_should_behave_like 'a validation error reader'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'DataMapper::Validations::ValidationErrors#respond_to?' do
4
+
5
+ subject { DataMapper::Validations::ValidationErrors.new(Object.new) }
6
+
7
+ it 'should look for the method in self' do
8
+ subject.should respond_to(:full_messages)
9
+ end
10
+
11
+ it 'should delegate lookup to the underlying errors hash' do
12
+ subject.should respond_to(:size)
13
+ end
14
+
15
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'DataMapper::Validations::WithinValidator' do
4
+ it 'should allow Sets to be passed to the :set option' do
5
+ types = Set.new(%w(home mobile business))
6
+
7
+ @model = Class.new do
8
+ include DataMapper::Resource
9
+
10
+ def self.name
11
+ 'WithinValidatorClass'
12
+ end
13
+
14
+ property :id, DataMapper::Property::Serial
15
+ property :name, String, :auto_validation => false
16
+ end.new
17
+
18
+ validator = DataMapper::Validations::WithinValidator.new(:name, :set => types)
19
+ validator.call(@model)
20
+
21
+ @model.errors.should_not be_empty
22
+ end
23
+ end
@@ -0,0 +1,38 @@
1
+ spec_defaults = lambda do |spec|
2
+ spec.pattern = 'spec/**/*_spec.rb'
3
+ spec.libs << 'lib' << 'spec'
4
+ spec.spec_opts << '--options' << 'spec/spec.opts'
5
+ end
6
+
7
+ begin
8
+ require 'spec/rake/spectask'
9
+
10
+ Spec::Rake::SpecTask.new(:spec, &spec_defaults)
11
+ rescue LoadError
12
+ task :spec do
13
+ abort 'rspec is not available. In order to run spec, you must: gem install rspec'
14
+ end
15
+ end
16
+
17
+ begin
18
+ require 'rcov'
19
+ require 'spec/rake/verify_rcov'
20
+
21
+ Spec::Rake::SpecTask.new(:rcov) do |rcov|
22
+ spec_defaults.call(rcov)
23
+ rcov.rcov = true
24
+ rcov.rcov_opts = File.read('spec/rcov.opts').split(/\s+/)
25
+ end
26
+
27
+ RCov::VerifyTask.new(:verify_rcov => :rcov) do |rcov|
28
+ rcov.threshold = 100
29
+ end
30
+ rescue LoadError
31
+ %w[ rcov verify_rcov ].each do |name|
32
+ task name do
33
+ abort "rcov is not available. In order to run #{name}, you must: gem install rcov"
34
+ end
35
+ end
36
+ end
37
+
38
+ task :default => :spec
@@ -0,0 +1,9 @@
1
+ begin
2
+ require 'yard'
3
+
4
+ YARD::Rake::YardocTask.new
5
+ rescue LoadError
6
+ task :yard do
7
+ abort 'YARD is not available. In order to run yard, you must: gem install yard'
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ begin
2
+ require 'pathname'
3
+ require 'yardstick/rake/measurement'
4
+ require 'yardstick/rake/verify'
5
+
6
+ # yardstick_measure task
7
+ Yardstick::Rake::Measurement.new
8
+
9
+ # verify_measurements task
10
+ Yardstick::Rake::Verify.new do |verify|
11
+ verify.threshold = 100
12
+ end
13
+ rescue LoadError
14
+ %w[ yardstick_measure verify_measurements ].each do |name|
15
+ task name.to_s do
16
+ abort "Yardstick is not available. In order to run #{name}, you must: gem install yardstick"
17
+ end
18
+ end
19
+ end
metadata ADDED
@@ -0,0 +1,256 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ardm-validations
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Martin Emde
8
+ - Guy van den Berg
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-01-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: ardm-core
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.2'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.2'
28
+ - !ruby/object:Gem::Dependency
29
+ name: ardm-types
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '1.2'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '1.2'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rake
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '0.9'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '0.9'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rspec
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '1.3'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.3'
70
+ description: Ardm fork of dm-validations
71
+ email:
72
+ - me@martinemde.com
73
+ - vandenberg.guy [a] gmail [d] com
74
+ executables: []
75
+ extensions: []
76
+ extra_rdoc_files:
77
+ - LICENSE
78
+ - README.rdoc
79
+ files:
80
+ - ".gitignore"
81
+ - ".travis.yml"
82
+ - Gemfile
83
+ - LICENSE
84
+ - README.rdoc
85
+ - Rakefile
86
+ - ardm-validations.gemspec
87
+ - lib/ardm-validations.rb
88
+ - lib/dm-validations.rb
89
+ - lib/dm-validations/auto_validate.rb
90
+ - lib/dm-validations/context.rb
91
+ - lib/dm-validations/contextual_validators.rb
92
+ - lib/dm-validations/exceptions.rb
93
+ - lib/dm-validations/formats/email.rb
94
+ - lib/dm-validations/formats/url.rb
95
+ - lib/dm-validations/support/object.rb
96
+ - lib/dm-validations/support/ordered_hash.rb
97
+ - lib/dm-validations/validation_errors.rb
98
+ - lib/dm-validations/validators/absent_field_validator.rb
99
+ - lib/dm-validations/validators/acceptance_validator.rb
100
+ - lib/dm-validations/validators/block_validator.rb
101
+ - lib/dm-validations/validators/confirmation_validator.rb
102
+ - lib/dm-validations/validators/format_validator.rb
103
+ - lib/dm-validations/validators/generic_validator.rb
104
+ - lib/dm-validations/validators/length_validator.rb
105
+ - lib/dm-validations/validators/method_validator.rb
106
+ - lib/dm-validations/validators/numeric_validator.rb
107
+ - lib/dm-validations/validators/primitive_validator.rb
108
+ - lib/dm-validations/validators/required_field_validator.rb
109
+ - lib/dm-validations/validators/uniqueness_validator.rb
110
+ - lib/dm-validations/validators/within_validator.rb
111
+ - lib/dm-validations/version.rb
112
+ - spec/fixtures/barcode.rb
113
+ - spec/fixtures/basketball_court.rb
114
+ - spec/fixtures/basketball_player.rb
115
+ - spec/fixtures/beta_tester_account.rb
116
+ - spec/fixtures/bill_of_landing.rb
117
+ - spec/fixtures/boat_dock.rb
118
+ - spec/fixtures/city.rb
119
+ - spec/fixtures/company.rb
120
+ - spec/fixtures/corporate_world.rb
121
+ - spec/fixtures/country.rb
122
+ - spec/fixtures/ethernet_frame.rb
123
+ - spec/fixtures/event.rb
124
+ - spec/fixtures/g3_concert.rb
125
+ - spec/fixtures/jabberwock.rb
126
+ - spec/fixtures/kayak.rb
127
+ - spec/fixtures/lernean_hydra.rb
128
+ - spec/fixtures/llama_spaceship.rb
129
+ - spec/fixtures/mathematical_function.rb
130
+ - spec/fixtures/memory_object.rb
131
+ - spec/fixtures/mittelschnauzer.rb
132
+ - spec/fixtures/motor_launch.rb
133
+ - spec/fixtures/multibyte.rb
134
+ - spec/fixtures/page.rb
135
+ - spec/fixtures/phone_number.rb
136
+ - spec/fixtures/pirogue.rb
137
+ - spec/fixtures/programming_language.rb
138
+ - spec/fixtures/reservation.rb
139
+ - spec/fixtures/scm_operation.rb
140
+ - spec/fixtures/sms_message.rb
141
+ - spec/fixtures/udp_packet.rb
142
+ - spec/integration/absent_field_validator/absent_field_validator_spec.rb
143
+ - spec/integration/absent_field_validator/spec_helper.rb
144
+ - spec/integration/acceptance_validator/acceptance_validator_spec.rb
145
+ - spec/integration/acceptance_validator/spec_helper.rb
146
+ - spec/integration/automatic_validation/custom_messages_for_inferred_validation_spec.rb
147
+ - spec/integration/automatic_validation/disabling_inferred_validation_spec.rb
148
+ - spec/integration/automatic_validation/inferred_boolean_properties_validation_spec.rb
149
+ - spec/integration/automatic_validation/inferred_float_property_validation_spec.rb
150
+ - spec/integration/automatic_validation/inferred_format_validation_spec.rb
151
+ - spec/integration/automatic_validation/inferred_integer_properties_validation_spec.rb
152
+ - spec/integration/automatic_validation/inferred_length_validation_spec.rb
153
+ - spec/integration/automatic_validation/inferred_presence_validation_spec.rb
154
+ - spec/integration/automatic_validation/inferred_primitive_validation_spec.rb
155
+ - spec/integration/automatic_validation/inferred_uniqueness_validation_spec.rb
156
+ - spec/integration/automatic_validation/inferred_within_validation_spec.rb
157
+ - spec/integration/automatic_validation/spec_helper.rb
158
+ - spec/integration/block_validator/block_validator_spec.rb
159
+ - spec/integration/block_validator/spec_helper.rb
160
+ - spec/integration/conditional_validation/if_condition_spec.rb
161
+ - spec/integration/conditional_validation/spec_helper.rb
162
+ - spec/integration/confirmation_validator/confirmation_validator_spec.rb
163
+ - spec/integration/confirmation_validator/spec_helper.rb
164
+ - spec/integration/datamapper_models/association_validation_spec.rb
165
+ - spec/integration/datamapper_models/inheritance_spec.rb
166
+ - spec/integration/dirty_attributes/dirty_attributes_spec.rb
167
+ - spec/integration/duplicated_validations/duplicated_validations_spec.rb
168
+ - spec/integration/duplicated_validations/spec_helper.rb
169
+ - spec/integration/format_validator/email_format_validator_spec.rb
170
+ - spec/integration/format_validator/format_validator_spec.rb
171
+ - spec/integration/format_validator/regexp_validator_spec.rb
172
+ - spec/integration/format_validator/spec_helper.rb
173
+ - spec/integration/format_validator/url_format_validator_spec.rb
174
+ - spec/integration/length_validator/default_value_spec.rb
175
+ - spec/integration/length_validator/equality_spec.rb
176
+ - spec/integration/length_validator/error_message_spec.rb
177
+ - spec/integration/length_validator/maximum_spec.rb
178
+ - spec/integration/length_validator/minimum_spec.rb
179
+ - spec/integration/length_validator/range_spec.rb
180
+ - spec/integration/length_validator/spec_helper.rb
181
+ - spec/integration/method_validator/method_validator_spec.rb
182
+ - spec/integration/method_validator/spec_helper.rb
183
+ - spec/integration/numeric_validator/equality_with_float_type_spec.rb
184
+ - spec/integration/numeric_validator/equality_with_integer_type_spec.rb
185
+ - spec/integration/numeric_validator/float_type_spec.rb
186
+ - spec/integration/numeric_validator/gt_with_float_type_spec.rb
187
+ - spec/integration/numeric_validator/gte_with_float_type_spec.rb
188
+ - spec/integration/numeric_validator/integer_only_true_spec.rb
189
+ - spec/integration/numeric_validator/integer_type_spec.rb
190
+ - spec/integration/numeric_validator/lt_with_float_type_spec.rb
191
+ - spec/integration/numeric_validator/lte_with_float_type_spec.rb
192
+ - spec/integration/numeric_validator/spec_helper.rb
193
+ - spec/integration/primitive_validator/primitive_validator_spec.rb
194
+ - spec/integration/primitive_validator/spec_helper.rb
195
+ - spec/integration/pure_ruby_objects/plain_old_ruby_object_validation_spec.rb
196
+ - spec/integration/required_field_validator/association_spec.rb
197
+ - spec/integration/required_field_validator/boolean_type_value_spec.rb
198
+ - spec/integration/required_field_validator/date_type_value_spec.rb
199
+ - spec/integration/required_field_validator/datetime_type_value_spec.rb
200
+ - spec/integration/required_field_validator/float_type_value_spec.rb
201
+ - spec/integration/required_field_validator/integer_type_value_spec.rb
202
+ - spec/integration/required_field_validator/plain_old_ruby_object_spec.rb
203
+ - spec/integration/required_field_validator/shared_examples.rb
204
+ - spec/integration/required_field_validator/spec_helper.rb
205
+ - spec/integration/required_field_validator/string_type_value_spec.rb
206
+ - spec/integration/required_field_validator/text_type_value_spec.rb
207
+ - spec/integration/shared/default_validation_context.rb
208
+ - spec/integration/shared/valid_and_invalid_model.rb
209
+ - spec/integration/uniqueness_validator/spec_helper.rb
210
+ - spec/integration/uniqueness_validator/uniqueness_validator_spec.rb
211
+ - spec/integration/within_validator/spec_helper.rb
212
+ - spec/integration/within_validator/within_validator_spec.rb
213
+ - spec/public/resource_spec.rb
214
+ - spec/rcov.opts
215
+ - spec/spec.opts
216
+ - spec/spec_helper.rb
217
+ - spec/unit/contextual_validators/emptiness_spec.rb
218
+ - spec/unit/contextual_validators/execution_spec.rb
219
+ - spec/unit/contextual_validators/spec_helper.rb
220
+ - spec/unit/generic_validator/equality_operator_spec.rb
221
+ - spec/unit/generic_validator/optional_spec.rb
222
+ - spec/unit/validation_errors/adding_spec.rb
223
+ - spec/unit/validation_errors/emptiness_spec.rb
224
+ - spec/unit/validation_errors/enumerable_spec.rb
225
+ - spec/unit/validation_errors/reading_spec.rb
226
+ - spec/unit/validation_errors/respond_to_spec.rb
227
+ - spec/unit/validators/within_validator_spec.rb
228
+ - tasks/spec.rake
229
+ - tasks/yard.rake
230
+ - tasks/yardstick.rake
231
+ homepage: http://github.com/ar-dm/ardm-validations
232
+ licenses:
233
+ - MIT
234
+ metadata: {}
235
+ post_install_message:
236
+ rdoc_options: []
237
+ require_paths:
238
+ - lib
239
+ required_ruby_version: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ required_rubygems_version: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - ">="
247
+ - !ruby/object:Gem::Version
248
+ version: '0'
249
+ requirements: []
250
+ rubyforge_project:
251
+ rubygems_version: 2.2.2
252
+ signing_key:
253
+ specification_version: 4
254
+ summary: Ardm fork of dm-validations
255
+ test_files: []
256
+ has_rdoc: