datacaster 2.0.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec.yml +6 -5
  3. data/README.md +518 -268
  4. data/config/locales/en.yml +24 -0
  5. data/datacaster.gemspec +3 -1
  6. data/lib/datacaster/absent.rb +4 -0
  7. data/lib/datacaster/and_node.rb +3 -5
  8. data/lib/datacaster/and_with_error_aggregation_node.rb +5 -6
  9. data/lib/datacaster/array_schema.rb +18 -16
  10. data/lib/datacaster/base.rb +33 -44
  11. data/lib/datacaster/caster.rb +4 -8
  12. data/lib/datacaster/checker.rb +8 -10
  13. data/lib/datacaster/comparator.rb +9 -9
  14. data/lib/datacaster/config.rb +28 -0
  15. data/lib/datacaster/context_node.rb +43 -0
  16. data/lib/datacaster/context_nodes/errors_caster.rb +21 -0
  17. data/lib/datacaster/context_nodes/i18n.rb +20 -0
  18. data/lib/datacaster/context_nodes/i18n_keys_mapper.rb +27 -0
  19. data/lib/datacaster/context_nodes/structure_cleaner.rb +103 -0
  20. data/lib/datacaster/context_nodes/user_context.rb +20 -0
  21. data/lib/datacaster/definition_dsl.rb +37 -0
  22. data/lib/datacaster/hash_mapper.rb +13 -16
  23. data/lib/datacaster/hash_schema.rb +14 -15
  24. data/lib/datacaster/i18n_values/base.rb +87 -0
  25. data/lib/datacaster/i18n_values/key.rb +34 -0
  26. data/lib/datacaster/i18n_values/scope.rb +28 -0
  27. data/lib/datacaster/message_keys_merger.rb +8 -15
  28. data/lib/datacaster/or_node.rb +3 -4
  29. data/lib/datacaster/predefined.rb +119 -64
  30. data/lib/datacaster/result.rb +35 -14
  31. data/lib/datacaster/runtimes/base.rb +47 -0
  32. data/lib/datacaster/runtimes/i18n.rb +20 -0
  33. data/lib/datacaster/runtimes/structure_cleaner.rb +47 -0
  34. data/lib/datacaster/runtimes/user_context.rb +39 -0
  35. data/lib/datacaster/substitute_i18n.rb +48 -0
  36. data/lib/datacaster/then_node.rb +7 -8
  37. data/lib/datacaster/transformer.rb +4 -8
  38. data/lib/datacaster/trier.rb +9 -11
  39. data/lib/datacaster/validator.rb +8 -9
  40. data/lib/datacaster/version.rb +1 -1
  41. data/lib/datacaster.rb +15 -35
  42. metadata +58 -10
  43. data/lib/datacaster/definition_context.rb +0 -20
  44. data/lib/datacaster/terminator.rb +0 -98
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d6493682ec13481f878adb35c36562ac7f38dd9fa761a7447d6f05f2812c98c
4
- data.tar.gz: 32ca64152333af7cf9e9125ddeb01783f06249e2949dfdd139ca6bcb12fe4790
3
+ metadata.gz: 3b77dec970a054162cb38f106f29f74a505d5c0e3084d46b8c578c2657b63078
4
+ data.tar.gz: ea0b92d48730865ed975c5354e304a6f2baaafd3672af83796763ea968aafe73
5
5
  SHA512:
6
- metadata.gz: 8f354a530cb8371fe744b851cfd81714ffbac336ac6df79c09fe6e75ca14ccfff77a30efebf84205495f1262ec860c2c8a415734f945af256bb6f84698d52003
7
- data.tar.gz: 3232aeaa2d583530e3402d61fb321e3f99f0333a0a676defb9e2ae3a8f42e1de358f169b844924737d764514787e498286e6ff7271dcbad8432347e4434670ad
6
+ metadata.gz: 196c625a37388f5debe9ae393f2abcddbedef154e874ce37bc7b5c392d19cfe67921f5aca62321c38fb4d7e7ca8cc825f903e69ebc9e36c62780c9f545116b15
7
+ data.tar.gz: f2e4dbe9fa520f51080ad6140fefed7ca87dab429f7af9d720582ee6378be5279607340d444ccdd8125ea0b8f23eff9da7b2c0e5c0055faff92bb10b3235887c
@@ -1,17 +1,18 @@
1
1
  name: Rspec
2
2
  on: [push, pull_request]
3
+
3
4
  jobs:
4
5
  test:
5
6
  runs-on: ubuntu-latest
6
7
  strategy:
7
8
  matrix:
8
- ruby-version: ['3.1', '2.7']
9
+ ruby-version: ['2.7', '3.0', '3.1']
9
10
  steps:
10
11
  - uses: actions/checkout@v3
11
- - uses: ruby/setup-ruby@v1
12
+ - name: Set up Ruby
13
+ uses: ruby/setup-ruby@v1
12
14
  with:
13
- ruby-version: ${{ matrix.ruby }}
14
- - name: Install dependencies
15
- run: bundle install
15
+ ruby-version: ${{ matrix.ruby-version }}
16
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
16
17
  - name: Run tests
17
18
  run: bundle exec rspec