predicate 2.8.0 → 2.10.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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -0
  3. data/lib/predicate/asserter.rb +1 -1
  4. data/lib/predicate/nodes/and.rb +22 -4
  5. data/lib/predicate/nodes/empty.rb +6 -0
  6. data/lib/predicate/nodes/eq.rb +4 -0
  7. data/lib/predicate/nodes/expr.rb +4 -0
  8. data/lib/predicate/nodes/gt.rb +6 -0
  9. data/lib/predicate/nodes/gte.rb +6 -0
  10. data/lib/predicate/nodes/in.rb +12 -0
  11. data/lib/predicate/nodes/lt.rb +6 -0
  12. data/lib/predicate/nodes/lte.rb +6 -0
  13. data/lib/predicate/nodes/neq.rb +11 -0
  14. data/lib/predicate/nodes/tautology.rb +4 -0
  15. data/lib/predicate/sequel/to_sequel.rb +6 -1
  16. data/lib/predicate/version.rb +1 -1
  17. data/lib/predicate.rb +16 -2
  18. data/spec/factory/shared/a_comparison_factory_method.rb +12 -4
  19. data/spec/factory/shared/a_predicate_ast_node.rb +11 -5
  20. data/spec/factory/test_${op_name}.rb.jeny +3 -1
  21. data/spec/factory/test_and.rb +6 -2
  22. data/spec/factory/test_comp.rb +27 -9
  23. data/spec/factory/test_contradiction.rb +3 -1
  24. data/spec/factory/test_empty.rb +3 -1
  25. data/spec/factory/test_factor_predicate.rb +21 -7
  26. data/spec/factory/test_from_hash.rb +21 -7
  27. data/spec/factory/test_has_size.rb +3 -1
  28. data/spec/factory/test_identifier.rb +6 -2
  29. data/spec/factory/test_literal.rb +6 -2
  30. data/spec/factory/test_match.rb +12 -4
  31. data/spec/factory/test_native.rb +6 -2
  32. data/spec/factory/test_not.rb +6 -2
  33. data/spec/factory/test_or.rb +6 -2
  34. data/spec/factory/test_qualified_identifier.rb +6 -2
  35. data/spec/factory/test_set_ops.rb +6 -2
  36. data/spec/factory/test_tautology.rb +3 -1
  37. data/spec/factory/test_var.rb +12 -4
  38. data/spec/grammar/test_match.rb +19 -19
  39. data/spec/grammar/test_sexpr.rb +49 -17
  40. data/spec/nodes/and/test_and_split.rb +30 -10
  41. data/spec/nodes/dyadic_comp/test_and_split.rb +18 -8
  42. data/spec/nodes/eq/test_and.rb +12 -4
  43. data/spec/nodes/identifier/test_and_split.rb +6 -2
  44. data/spec/nodes/identifier/test_free_variables.rb +3 -1
  45. data/spec/nodes/identifier/test_name.rb +3 -1
  46. data/spec/nodes/in/test_and.rb +18 -6
  47. data/spec/nodes/nadic_bool/test_free_variables.rb +3 -1
  48. data/spec/nodes/or/test_and_split.rb +6 -2
  49. data/spec/nodes/qualified_identifier/test_and_split.rb +6 -2
  50. data/spec/nodes/qualified_identifier/test_free_variables.rb +3 -1
  51. data/spec/nodes/qualified_identifier/test_name.rb +3 -1
  52. data/spec/nodes/qualified_identifier/test_qualifier.rb +3 -1
  53. data/spec/predicate/test_and_split.rb +48 -16
  54. data/spec/predicate/test_assert!.rb +210 -0
  55. data/spec/predicate/test_attr_split.rb +36 -12
  56. data/spec/predicate/test_bool_and.rb +7 -3
  57. data/spec/predicate/test_bool_not.rb +30 -10
  58. data/spec/predicate/test_bool_or.rb +7 -3
  59. data/spec/predicate/test_coerce.rb +19 -17
  60. data/spec/predicate/test_constants.rb +78 -26
  61. data/spec/predicate/test_free_variables.rb +3 -1
  62. data/spec/predicate/test_hash_and_equal.rb +7 -3
  63. data/spec/predicate/test_qualify.rb +8 -6
  64. data/spec/predicate/test_rename.rb +21 -11
  65. data/spec/predicate/test_to_hashes.rb +72 -0
  66. data/spec/sequel/test_to_sequel.rb +38 -16
  67. data/spec/shared/a_predicate.rb +8 -8
  68. data/spec/spec_helper.rb +1 -0
  69. data/spec/test_readme.rb +1 -1
  70. metadata +6 -5
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: predicate
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.0
4
+ version: 2.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bernard Lambeau
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-09 00:00:00.000000000 Z
11
+ date: 2026-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sexpr
@@ -251,6 +251,7 @@ files:
251
251
  - spec/predicate/test_rename.rb
252
252
  - spec/predicate/test_tautology.rb
253
253
  - spec/predicate/test_to_hash.rb
254
+ - spec/predicate/test_to_hashes.rb
254
255
  - spec/predicate/test_to_s.rb
255
256
  - spec/predicate/test_unqualify.rb
256
257
  - spec/sequel/test_to_sequel.rb
@@ -265,7 +266,7 @@ homepage: http://github.com/enspirit/predicate
265
266
  licenses:
266
267
  - MIT
267
268
  metadata: {}
268
- post_install_message:
269
+ post_install_message:
269
270
  rdoc_options: []
270
271
  require_paths:
271
272
  - lib
@@ -281,7 +282,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
281
282
  version: '0'
282
283
  requirements: []
283
284
  rubygems_version: 3.1.6
284
- signing_key:
285
+ signing_key:
285
286
  specification_version: 4
286
287
  summary: Predicate provides a simple class and processors to encode and manipulate
287
288
  (tuple) predicates