ruby-livr 2.0.0 → 2.1.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 (92) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/test.yml +23 -0
  3. data/.gitignore +1 -0
  4. data/Readme.md +2 -2
  5. data/lib/livr/aliased_rule.rb +11 -5
  6. data/lib/livr/rule.rb +13 -0
  7. data/lib/livr/rules/common.rb +1 -2
  8. data/lib/livr/rules/meta.rb +43 -12
  9. data/lib/livr/rules/modifiers.rb +10 -10
  10. data/lib/livr/rules/numeric.rb +5 -5
  11. data/lib/livr/rules/special.rb +14 -9
  12. data/lib/livr/validator.rb +7 -2
  13. data/lib/livr.rb +2 -0
  14. data/ruby-livr.gemspec +5 -4
  15. data/spec/01-test_suite_spec.rb +7 -2
  16. data/spec/02-aliases_spec.rb +30 -1
  17. data/spec/04-custom_filters_spec.rb +12 -1
  18. data/spec/06-primitive_values_spec.rb +133 -0
  19. data/spec/test_suite/aliases_negative/02-address/aliases.json +2 -2
  20. data/spec/test_suite/aliases_negative/02-address/input.json +2 -2
  21. data/spec/test_suite/aliases_positive/01-adult_age/input.json +1 -0
  22. data/spec/test_suite/aliases_positive/01-adult_age/output.json +1 -0
  23. data/spec/test_suite/aliases_positive/01-adult_age/rules.json +2 -0
  24. data/spec/test_suite/aliases_positive/02-address/aliases.json +2 -2
  25. data/spec/test_suite/aliases_positive/02-address/input.json +1 -1
  26. data/spec/test_suite/aliases_positive/02-address/output.json +1 -1
  27. data/spec/test_suite/negative/01-required/errors.json +4 -1
  28. data/spec/test_suite/negative/01-required/input.json +1 -0
  29. data/spec/test_suite/negative/01-required/rules.json +5 -1
  30. data/spec/test_suite/negative/03-one_of/errors.json +2 -0
  31. data/spec/test_suite/negative/03-one_of/input.json +2 -0
  32. data/spec/test_suite/negative/03-one_of/rules.json +9 -7
  33. data/spec/test_suite/negative/12-positive_decimal/errors.json +1 -0
  34. data/spec/test_suite/negative/12-positive_decimal/input.json +1 -0
  35. data/spec/test_suite/negative/12-positive_decimal/rules.json +1 -0
  36. data/spec/test_suite/negative/16-email/errors.json +22 -0
  37. data/spec/test_suite/negative/16-email/input.json +23 -0
  38. data/spec/test_suite/negative/16-email/rules.json +23 -0
  39. data/spec/test_suite/negative/17-equal_to_field/errors.json +4 -0
  40. data/spec/test_suite/negative/17-equal_to_field/input.json +5 -0
  41. data/spec/test_suite/negative/17-equal_to_field/rules.json +4 -0
  42. data/spec/test_suite/negative/18-nested_object/input.json +1 -1
  43. data/spec/test_suite/negative/21-list_of_different_objects/errors.json +6 -1
  44. data/spec/test_suite/negative/21-list_of_different_objects/input.json +23 -1
  45. data/spec/test_suite/negative/21-list_of_different_objects/rules.json +36 -1
  46. data/spec/test_suite/negative/23-url/errors.json +2 -0
  47. data/spec/test_suite/negative/23-url/input.json +2 -0
  48. data/spec/test_suite/negative/23-url/rules.json +2 -0
  49. data/spec/test_suite/negative/24-iso_date/errors.json +6 -0
  50. data/spec/test_suite/negative/24-iso_date/input.json +6 -0
  51. data/spec/test_suite/negative/24-iso_date/rules.json +6 -0
  52. data/spec/test_suite/negative/25-eq/rules.json +7 -7
  53. data/spec/test_suite/negative/28-variable_object/errors.json +9 -1
  54. data/spec/test_suite/negative/28-variable_object/input.json +9 -1
  55. data/spec/test_suite/negative/28-variable_object/rules.json +57 -1
  56. data/spec/test_suite/negative/29-or/errors.json +3 -0
  57. data/spec/test_suite/negative/29-or/input.json +1 -0
  58. data/spec/test_suite/negative/29-or/rules.json +3 -0
  59. data/spec/test_suite/positive/01-required/input.json +5 -1
  60. data/spec/test_suite/positive/01-required/output.json +4 -1
  61. data/spec/test_suite/positive/01-required/rules.json +4 -1
  62. data/spec/test_suite/positive/03-one_of/input.json +7 -3
  63. data/spec/test_suite/positive/03-one_of/output.json +7 -3
  64. data/spec/test_suite/positive/03-one_of/rules.json +8 -4
  65. data/spec/test_suite/positive/16-email/input.json +29 -0
  66. data/spec/test_suite/positive/16-email/output.json +28 -0
  67. data/spec/test_suite/positive/16-email/rules.json +28 -0
  68. data/spec/test_suite/positive/17-equal_to_field/input.json +3 -1
  69. data/spec/test_suite/positive/17-equal_to_field/output.json +2 -1
  70. data/spec/test_suite/positive/17-equal_to_field/rules.json +2 -1
  71. data/spec/test_suite/positive/18-nested_object/input.json +9 -1
  72. data/spec/test_suite/positive/18-nested_object/output.json +5 -0
  73. data/spec/test_suite/positive/18-nested_object/rules.json +10 -1
  74. data/spec/test_suite/positive/24-iso_date/input.json +2 -0
  75. data/spec/test_suite/positive/24-iso_date/output.json +2 -0
  76. data/spec/test_suite/positive/24-iso_date/rules.json +2 -0
  77. data/spec/test_suite/positive/25-eq/input.json +3 -3
  78. data/spec/test_suite/positive/25-eq/output.json +3 -3
  79. data/spec/test_suite/positive/25-eq/rules.json +4 -4
  80. data/spec/test_suite/positive/26-string/input.json +2 -2
  81. data/spec/test_suite/positive/26-string/output.json +2 -2
  82. data/spec/test_suite/positive/27-any_object/input.json +3 -2
  83. data/spec/test_suite/positive/27-any_object/output.json +3 -2
  84. data/spec/test_suite/positive/27-any_object/rules.json +2 -1
  85. data/spec/test_suite/positive/29-or/input.json +2 -0
  86. data/spec/test_suite/positive/29-or/output.json +2 -0
  87. data/spec/test_suite/positive/29-or/rules.json +3 -0
  88. data/spec/test_suite/positive/35-default/output.json +2 -1
  89. data/spec/test_suite/positive/35-default/rules.json +2 -1
  90. metadata +17 -14
  91. data/.travis.yml +0 -4
  92. data/Gemfile.lock +0 -45
metadata CHANGED
@@ -1,41 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-livr
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitaliy Yanchuk
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2017-12-22 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: '5'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '9'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
- - - "~>"
26
+ - - ">="
25
27
  - !ruby/object:Gem::Version
26
28
  version: '5'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '9'
27
32
  - !ruby/object:Gem::Dependency
28
33
  name: rspec
29
34
  requirement: !ruby/object:Gem::Requirement
30
35
  requirements:
31
- - - '='
36
+ - - "~>"
32
37
  - !ruby/object:Gem::Version
33
38
  version: '3.7'
34
39
  type: :development
35
40
  prerelease: false
36
41
  version_requirements: !ruby/object:Gem::Requirement
37
42
  requirements:
38
- - - '='
43
+ - - "~>"
39
44
  - !ruby/object:Gem::Version
40
45
  version: '3.7'
41
46
  description: Language Independent Validation Rules. Implements 2.0 specification
@@ -44,11 +49,10 @@ executables: []
44
49
  extensions: []
45
50
  extra_rdoc_files: []
46
51
  files:
52
+ - ".github/workflows/test.yml"
47
53
  - ".gitignore"
48
54
  - ".rspec"
49
- - ".travis.yml"
50
55
  - Gemfile
51
- - Gemfile.lock
52
56
  - Readme.md
53
57
  - lib/livr.rb
54
58
  - lib/livr/aliased_rule.rb
@@ -66,6 +70,7 @@ files:
66
70
  - spec/03-auto_trim_spec.rb
67
71
  - spec/04-custom_filters_spec.rb
68
72
  - spec/05-rules_replacement_spec.rb
73
+ - spec/06-primitive_values_spec.rb
69
74
  - spec/spec_helper.rb
70
75
  - spec/test_suite/aliases_negative/01-adult_age/aliases.json
71
76
  - spec/test_suite/aliases_negative/01-adult_age/errors.json
@@ -287,7 +292,6 @@ homepage: https://github.com/fuksito/ruby-livr
287
292
  licenses:
288
293
  - MIT
289
294
  metadata: {}
290
- post_install_message:
291
295
  rdoc_options: []
292
296
  require_paths:
293
297
  - lib
@@ -295,16 +299,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
295
299
  requirements:
296
300
  - - ">="
297
301
  - !ruby/object:Gem::Version
298
- version: '0'
302
+ version: '2.7'
299
303
  required_rubygems_version: !ruby/object:Gem::Requirement
300
304
  requirements:
301
305
  - - ">="
302
306
  - !ruby/object:Gem::Version
303
307
  version: '0'
304
308
  requirements: []
305
- rubyforge_project:
306
- rubygems_version: 2.6.13
307
- signing_key:
309
+ rubygems_version: 3.6.9
308
310
  specification_version: 4
309
311
  summary: Implementation of LIVR v2.0
310
312
  test_files:
@@ -313,6 +315,7 @@ test_files:
313
315
  - spec/03-auto_trim_spec.rb
314
316
  - spec/04-custom_filters_spec.rb
315
317
  - spec/05-rules_replacement_spec.rb
318
+ - spec/06-primitive_values_spec.rb
316
319
  - spec/spec_helper.rb
317
320
  - spec/test_suite/aliases_negative/01-adult_age/aliases.json
318
321
  - spec/test_suite/aliases_negative/01-adult_age/errors.json
data/.travis.yml DELETED
@@ -1,4 +0,0 @@
1
- language: ruby
2
- script: bundle exec rspec
3
- rvm:
4
- - 2.2
data/Gemfile.lock DELETED
@@ -1,45 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- ruby-livr (2.0.0)
5
- activesupport (~> 5)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- activesupport (5.1.4)
11
- concurrent-ruby (~> 1.0, >= 1.0.2)
12
- i18n (~> 0.7)
13
- minitest (~> 5.1)
14
- tzinfo (~> 1.1)
15
- concurrent-ruby (1.0.5)
16
- diff-lcs (1.3)
17
- i18n (0.9.1)
18
- concurrent-ruby (~> 1.0)
19
- minitest (5.10.3)
20
- rspec (3.7.0)
21
- rspec-core (~> 3.7.0)
22
- rspec-expectations (~> 3.7.0)
23
- rspec-mocks (~> 3.7.0)
24
- rspec-core (3.7.0)
25
- rspec-support (~> 3.7.0)
26
- rspec-expectations (3.7.0)
27
- diff-lcs (>= 1.2.0, < 2.0)
28
- rspec-support (~> 3.7.0)
29
- rspec-mocks (3.7.0)
30
- diff-lcs (>= 1.2.0, < 2.0)
31
- rspec-support (~> 3.7.0)
32
- rspec-support (3.7.0)
33
- thread_safe (0.3.6)
34
- tzinfo (1.2.4)
35
- thread_safe (~> 0.1)
36
-
37
- PLATFORMS
38
- ruby
39
-
40
- DEPENDENCIES
41
- rspec (= 3.7)
42
- ruby-livr!
43
-
44
- BUNDLED WITH
45
- 1.16.0.pre.3