ruby-livr 2.0.0 → 2.1.1

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 (94) 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/rules/string.rb +51 -1
  13. data/lib/livr/validator.rb +7 -2
  14. data/lib/livr.rb +2 -0
  15. data/ruby-livr.gemspec +5 -4
  16. data/spec/01-test_suite_spec.rb +7 -2
  17. data/spec/02-aliases_spec.rb +30 -1
  18. data/spec/04-custom_filters_spec.rb +12 -1
  19. data/spec/06-primitive_values_spec.rb +133 -0
  20. data/spec/07-like_anchors_spec.rb +50 -0
  21. data/spec/test_suite/aliases_negative/02-address/aliases.json +2 -2
  22. data/spec/test_suite/aliases_negative/02-address/input.json +2 -2
  23. data/spec/test_suite/aliases_positive/01-adult_age/input.json +1 -0
  24. data/spec/test_suite/aliases_positive/01-adult_age/output.json +1 -0
  25. data/spec/test_suite/aliases_positive/01-adult_age/rules.json +2 -0
  26. data/spec/test_suite/aliases_positive/02-address/aliases.json +2 -2
  27. data/spec/test_suite/aliases_positive/02-address/input.json +1 -1
  28. data/spec/test_suite/aliases_positive/02-address/output.json +1 -1
  29. data/spec/test_suite/negative/01-required/errors.json +4 -1
  30. data/spec/test_suite/negative/01-required/input.json +1 -0
  31. data/spec/test_suite/negative/01-required/rules.json +5 -1
  32. data/spec/test_suite/negative/03-one_of/errors.json +2 -0
  33. data/spec/test_suite/negative/03-one_of/input.json +2 -0
  34. data/spec/test_suite/negative/03-one_of/rules.json +9 -7
  35. data/spec/test_suite/negative/12-positive_decimal/errors.json +1 -0
  36. data/spec/test_suite/negative/12-positive_decimal/input.json +1 -0
  37. data/spec/test_suite/negative/12-positive_decimal/rules.json +1 -0
  38. data/spec/test_suite/negative/16-email/errors.json +22 -0
  39. data/spec/test_suite/negative/16-email/input.json +23 -0
  40. data/spec/test_suite/negative/16-email/rules.json +23 -0
  41. data/spec/test_suite/negative/17-equal_to_field/errors.json +4 -0
  42. data/spec/test_suite/negative/17-equal_to_field/input.json +5 -0
  43. data/spec/test_suite/negative/17-equal_to_field/rules.json +4 -0
  44. data/spec/test_suite/negative/18-nested_object/input.json +1 -1
  45. data/spec/test_suite/negative/21-list_of_different_objects/errors.json +6 -1
  46. data/spec/test_suite/negative/21-list_of_different_objects/input.json +23 -1
  47. data/spec/test_suite/negative/21-list_of_different_objects/rules.json +36 -1
  48. data/spec/test_suite/negative/23-url/errors.json +2 -0
  49. data/spec/test_suite/negative/23-url/input.json +2 -0
  50. data/spec/test_suite/negative/23-url/rules.json +2 -0
  51. data/spec/test_suite/negative/24-iso_date/errors.json +6 -0
  52. data/spec/test_suite/negative/24-iso_date/input.json +6 -0
  53. data/spec/test_suite/negative/24-iso_date/rules.json +6 -0
  54. data/spec/test_suite/negative/25-eq/rules.json +7 -7
  55. data/spec/test_suite/negative/28-variable_object/errors.json +9 -1
  56. data/spec/test_suite/negative/28-variable_object/input.json +9 -1
  57. data/spec/test_suite/negative/28-variable_object/rules.json +57 -1
  58. data/spec/test_suite/negative/29-or/errors.json +3 -0
  59. data/spec/test_suite/negative/29-or/input.json +1 -0
  60. data/spec/test_suite/negative/29-or/rules.json +3 -0
  61. data/spec/test_suite/positive/01-required/input.json +5 -1
  62. data/spec/test_suite/positive/01-required/output.json +4 -1
  63. data/spec/test_suite/positive/01-required/rules.json +4 -1
  64. data/spec/test_suite/positive/03-one_of/input.json +7 -3
  65. data/spec/test_suite/positive/03-one_of/output.json +7 -3
  66. data/spec/test_suite/positive/03-one_of/rules.json +8 -4
  67. data/spec/test_suite/positive/16-email/input.json +29 -0
  68. data/spec/test_suite/positive/16-email/output.json +28 -0
  69. data/spec/test_suite/positive/16-email/rules.json +28 -0
  70. data/spec/test_suite/positive/17-equal_to_field/input.json +3 -1
  71. data/spec/test_suite/positive/17-equal_to_field/output.json +2 -1
  72. data/spec/test_suite/positive/17-equal_to_field/rules.json +2 -1
  73. data/spec/test_suite/positive/18-nested_object/input.json +9 -1
  74. data/spec/test_suite/positive/18-nested_object/output.json +5 -0
  75. data/spec/test_suite/positive/18-nested_object/rules.json +10 -1
  76. data/spec/test_suite/positive/24-iso_date/input.json +2 -0
  77. data/spec/test_suite/positive/24-iso_date/output.json +2 -0
  78. data/spec/test_suite/positive/24-iso_date/rules.json +2 -0
  79. data/spec/test_suite/positive/25-eq/input.json +3 -3
  80. data/spec/test_suite/positive/25-eq/output.json +3 -3
  81. data/spec/test_suite/positive/25-eq/rules.json +4 -4
  82. data/spec/test_suite/positive/26-string/input.json +2 -2
  83. data/spec/test_suite/positive/26-string/output.json +2 -2
  84. data/spec/test_suite/positive/27-any_object/input.json +3 -2
  85. data/spec/test_suite/positive/27-any_object/output.json +3 -2
  86. data/spec/test_suite/positive/27-any_object/rules.json +2 -1
  87. data/spec/test_suite/positive/29-or/input.json +2 -0
  88. data/spec/test_suite/positive/29-or/output.json +2 -0
  89. data/spec/test_suite/positive/29-or/rules.json +3 -0
  90. data/spec/test_suite/positive/35-default/output.json +2 -1
  91. data/spec/test_suite/positive/35-default/rules.json +2 -1
  92. metadata +19 -14
  93. data/.travis.yml +0 -4
  94. 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.1
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,8 @@ 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
74
+ - spec/07-like_anchors_spec.rb
69
75
  - spec/spec_helper.rb
70
76
  - spec/test_suite/aliases_negative/01-adult_age/aliases.json
71
77
  - spec/test_suite/aliases_negative/01-adult_age/errors.json
@@ -287,7 +293,6 @@ homepage: https://github.com/fuksito/ruby-livr
287
293
  licenses:
288
294
  - MIT
289
295
  metadata: {}
290
- post_install_message:
291
296
  rdoc_options: []
292
297
  require_paths:
293
298
  - lib
@@ -295,16 +300,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
295
300
  requirements:
296
301
  - - ">="
297
302
  - !ruby/object:Gem::Version
298
- version: '0'
303
+ version: '2.7'
299
304
  required_rubygems_version: !ruby/object:Gem::Requirement
300
305
  requirements:
301
306
  - - ">="
302
307
  - !ruby/object:Gem::Version
303
308
  version: '0'
304
309
  requirements: []
305
- rubyforge_project:
306
- rubygems_version: 2.6.13
307
- signing_key:
310
+ rubygems_version: 3.6.9
308
311
  specification_version: 4
309
312
  summary: Implementation of LIVR v2.0
310
313
  test_files:
@@ -313,6 +316,8 @@ test_files:
313
316
  - spec/03-auto_trim_spec.rb
314
317
  - spec/04-custom_filters_spec.rb
315
318
  - spec/05-rules_replacement_spec.rb
319
+ - spec/06-primitive_values_spec.rb
320
+ - spec/07-like_anchors_spec.rb
316
321
  - spec/spec_helper.rb
317
322
  - spec/test_suite/aliases_negative/01-adult_age/aliases.json
318
323
  - 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