activerecord-temporal 0.1.0 → 0.3.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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +778 -7
  4. data/lib/activerecord/temporal/application_versioning/application_versioned.rb +122 -0
  5. data/lib/activerecord/temporal/application_versioning.rb +4 -68
  6. data/lib/activerecord/temporal/patches/association_reflection.rb +10 -3
  7. data/lib/activerecord/temporal/patches/join_dependency.rb +4 -0
  8. data/lib/activerecord/temporal/patches/merger.rb +1 -1
  9. data/lib/activerecord/temporal/patches/relation.rb +10 -6
  10. data/lib/activerecord/temporal/patches/through_association.rb +4 -1
  11. data/lib/activerecord/temporal/{as_of_query → querying}/association_macros.rb +1 -1
  12. data/lib/activerecord/temporal/querying/association_scope.rb +55 -0
  13. data/lib/activerecord/temporal/{as_of_query → querying}/association_walker.rb +1 -1
  14. data/lib/activerecord/temporal/querying/predicate_builder/contains_handler.rb +24 -0
  15. data/lib/activerecord/temporal/querying/predicate_builder/handlers.rb +31 -0
  16. data/lib/activerecord/temporal/querying/query_methods.rb +37 -0
  17. data/lib/activerecord/temporal/querying/scope_registry.rb +95 -0
  18. data/lib/activerecord/temporal/querying/scoping.rb +70 -0
  19. data/lib/activerecord/temporal/{as_of_query → querying}/time_dimensions.rb +13 -3
  20. data/lib/activerecord/temporal/querying/where_clause_refinement.rb +17 -0
  21. data/lib/activerecord/temporal/querying.rb +95 -0
  22. data/lib/activerecord/temporal/scoping.rb +7 -0
  23. data/lib/activerecord/temporal/system_versioning/history_model.rb +47 -0
  24. data/lib/activerecord/temporal/system_versioning/history_model_namespace.rb +45 -0
  25. data/lib/activerecord/temporal/system_versioning/history_models.rb +29 -0
  26. data/lib/activerecord/temporal/system_versioning/schema_creation.rb +8 -5
  27. data/lib/activerecord/temporal/system_versioning/schema_definitions.rb +10 -8
  28. data/lib/activerecord/temporal/system_versioning/schema_statements.rb +62 -24
  29. data/lib/activerecord/temporal/system_versioning/system_versioned.rb +13 -0
  30. data/lib/activerecord/temporal/system_versioning.rb +6 -18
  31. data/lib/activerecord/temporal/version.rb +1 -1
  32. data/lib/activerecord/temporal.rb +64 -33
  33. metadata +23 -15
  34. data/lib/activerecord/temporal/as_of_query/association_scope.rb +0 -54
  35. data/lib/activerecord/temporal/as_of_query/query_methods.rb +0 -24
  36. data/lib/activerecord/temporal/as_of_query/scope_registry.rb +0 -38
  37. data/lib/activerecord/temporal/as_of_query.rb +0 -109
  38. data/lib/activerecord/temporal/system_versioning/model.rb +0 -37
  39. data/lib/activerecord/temporal/system_versioning/namespace.rb +0 -34
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 885b7f7b89f8bf5631d9ff433e3848104b2dd4adf00b5fb5ae192ca77fc2791c
4
- data.tar.gz: 36d7fc15adf37f0209b564a78d601ad4b2615e16227caf2a66ae21a71e4109a4
3
+ metadata.gz: 87a493283c2b5a1746266fdedb4978b7ad768be307b73b40b2aa404b460a198c
4
+ data.tar.gz: ea10fd65c8c61878d1a92ae098a558094e7090e4ae09692ac15c1bd61b94a406
5
5
  SHA512:
6
- metadata.gz: 8ee064c4813043534429ec6601b44966db678ddc616063c504f5b0b1e468edc29cb6485cb951c838f7a4d409ac620f132ed5f660bf69d310c8fa33d4d00cad11
7
- data.tar.gz: 1458150e9e6297b29c10b8881b9721fe566c3cb67ccbe2c977a0db2acbf520bbff391e463c7868af5b021c1962a0da09084318f734875095c2c7309edcca4c42
6
+ metadata.gz: 1ffaf0ec3fdc39fb9c4239dcde8f10f27921726be199a4969125c6873d75f29c30f62c60627d229edd45bd4db532eabbbca3e64c760878599f2bd7b4bec0f6e8
7
+ data.tar.gz: 4cecd795b83076371ad73ac26014a77a7791202269c6fb6903bfef358d9226e445d1e40a0dc8fe433a668562d82c57463809dedab4892dfa9303a12d9154bd44
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.3.0] - 2025-11-20
4
+
5
+ - Application versioning: Raise `ClosedRevisionError` when trying to revise or inactive closed versions.
6
+ - System versioning: Store gem version in versioning hooks
7
+ - System versioning: Add assertion for matching primary key on versioning hook creation
8
+
9
+ ## [0.2.0] - 2025-11-19
10
+
11
+ - Added ambient/global time scopes
12
+ - Added history model namespace
13
+ - Added class methods for originating versions with application versioning
14
+ - A lot of bug fixes
15
+ - Changed the public interface to improve convenience
16
+
3
17
  ## [0.1.0] - 2025-11-11
4
18
 
5
19
  - Initial release