orfeas_lyra 0.6.0 → 0.9.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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +851 -0
  3. data/README.md +196 -987
  4. data/app/controllers/lyra/application_controller.rb +48 -0
  5. data/app/controllers/lyra/dashboard_controller.rb +0 -1
  6. data/app/views/lyra/dashboard/projections.html.erb +0 -4
  7. data/app/views/lyra/dashboard/verification.html.erb +8 -2
  8. data/app/workflows/es_async_mode_workflow.rb +24 -60
  9. data/app/workflows/es_sync_mode_workflow.rb +25 -50
  10. data/app/workflows/hijack_mode_workflow.rb +18 -33
  11. data/app/workflows/lifecycle_workflow.rb +1 -1
  12. data/app/workflows/monitor_mode_workflow.rb +12 -22
  13. data/config/privacy_policies.rb +2 -1
  14. data/config/routes.rb +4 -2
  15. data/lib/lyra/access_log.rb +121 -0
  16. data/lib/lyra/advisory_lock.rb +45 -0
  17. data/lib/lyra/aggregate.rb +25 -13
  18. data/lib/lyra/associations/event_aware.rb +3 -4
  19. data/lib/lyra/associations/habtm_links.rb +255 -0
  20. data/lib/lyra/bypass_events.rb +208 -0
  21. data/lib/lyra/command.rb +3 -0
  22. data/lib/lyra/command_handler.rb +164 -42
  23. data/lib/lyra/configuration.rb +217 -8
  24. data/lib/lyra/consistency/read_your_writes.rb +74 -23
  25. data/lib/lyra/domain_events.rb +157 -0
  26. data/lib/lyra/dual_view.rb +27 -6
  27. data/lib/lyra/dual_view_sampler.rb +33 -0
  28. data/lib/lyra/encrypted_attributes.rb +101 -0
  29. data/lib/lyra/engine.rb +67 -4
  30. data/lib/lyra/erasure.rb +316 -0
  31. data/lib/lyra/event.rb +120 -2
  32. data/lib/lyra/event_flow.rb +16 -6
  33. data/lib/lyra/event_serializer.rb +45 -0
  34. data/lib/lyra/event_store_adapter.rb +58 -62
  35. data/lib/lyra/genesis.rb +189 -0
  36. data/lib/lyra/id_generator.rb +42 -10
  37. data/lib/lyra/interceptors/association_interceptor.rb +123 -6
  38. data/lib/lyra/interceptors/crud_interceptor.rb +400 -74
  39. data/lib/lyra/interceptors/lazy_reads.rb +46 -0
  40. data/lib/lyra/mode_sync.rb +125 -0
  41. data/lib/lyra/mode_transition.rb +386 -0
  42. data/lib/lyra/model_selection.rb +160 -0
  43. data/lib/lyra/optimistic_locking.rb +88 -0
  44. data/lib/lyra/optional_dependency.rb +24 -0
  45. data/lib/lyra/own_connection.rb +54 -0
  46. data/lib/lyra/privacy/adapters/pam.rb +151 -0
  47. data/lib/lyra/privacy/gdpr_compliance.rb +51 -1
  48. data/lib/lyra/privacy/interface.rb +262 -0
  49. data/lib/lyra/privacy/pii_detector.rb +8 -10
  50. data/lib/lyra/privacy/pii_masker.rb +30 -13
  51. data/lib/lyra/privacy/policy_integration.rb +39 -148
  52. data/lib/lyra/projection.rb +30 -7
  53. data/lib/lyra/projections/association_conditions.rb +81 -0
  54. data/lib/lyra/projections/async_checkpoint.rb +57 -0
  55. data/lib/lyra/projections/async_projection_job.rb +68 -15
  56. data/lib/lyra/projections/cached_joins.rb +192 -0
  57. data/lib/lyra/projections/cached_projection.rb +279 -163
  58. data/lib/lyra/projections/cached_relation.rb +666 -85
  59. data/lib/lyra/projections/deferred_relation.rb +120 -0
  60. data/lib/lyra/projections/event_store_reader.rb +27 -4
  61. data/lib/lyra/projections/lazy_projection.rb +259 -0
  62. data/lib/lyra/projections/model_projection.rb +32 -34
  63. data/lib/lyra/projections/rebuild.rb +170 -0
  64. data/lib/lyra/projections/reference_links.rb +309 -0
  65. data/lib/lyra/purpose_bound_reads.rb +197 -0
  66. data/lib/lyra/repair.rb +114 -0
  67. data/lib/lyra/retention.rb +180 -0
  68. data/lib/lyra/schema/event_class_registrar.rb +2 -1
  69. data/lib/lyra/schema/validator.rb +14 -5
  70. data/lib/lyra/sti_stream_migration.rb +70 -0
  71. data/lib/lyra/strict_data_access.rb +225 -175
  72. data/lib/lyra/temporal.rb +128 -0
  73. data/lib/lyra/verification/bypass_workflow.rb +170 -0
  74. data/lib/lyra/verification/crud_lifecycle_workflow.rb +32 -6
  75. data/lib/lyra/verification/workflow_generator.rb +73 -179
  76. data/lib/lyra/version.rb +1 -1
  77. data/lib/lyra.rb +114 -17
  78. data/lib/tasks/lyra_mode.rake +89 -0
  79. data/lib/tasks/lyra_projections.rake +78 -0
  80. data/lib/tasks/lyra_schema.rake +4 -0
  81. data/lib/tasks/lyra_workflows.rake +28 -27
  82. metadata +39 -11
  83. data/lib/lyra/event_mapper.rb +0 -106
  84. data/lib/tasks/dist.rake +0 -391
  85. data/lib/tasks/gems.rake +0 -185
  86. data/lib/tasks/public_release.rake +0 -351
  87. data/lib/tasks/stats.rake +0 -175
  88. data/lib/tasks/testbed.rake +0 -479
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3d1fc3fab85a30b1ed635864d084fee35468b77ff0ad0ce2aec0b0d004fe43e7
4
- data.tar.gz: e050efff730bc551ef67c3d0107dc5c11fb5c5e8ba433970f188c17d3517e3c5
3
+ metadata.gz: 8e940368c4357d27be315d08d22f791d399356c36884472120c6c2a4f82731fe
4
+ data.tar.gz: f59258ee1575e968c436cd1f4ab0cd8ff567438d5571f8f1fd438ccfb944446c
5
5
  SHA512:
6
- metadata.gz: 5650de44e8ade792aa79bf9fba6e42dd6144e08521a47aa5132e34df94215af9c464faa3d08f87c7d8b98a03649b0f4600e8636a3e334da89100eb0e257a6170
7
- data.tar.gz: 03d0c2c5419ffddd950f86d8d97dcc3033be8bbd81dda0a8470ef9ab2c4e743c98484788cb74a59a41cf3933c946496f06201d77341b2c9280e58accd26012f7
6
+ metadata.gz: 5e6b4a7a5ce88cbc5c10434ef0b6af0a4f09c6109f66af253fdab4a6771b9e23f3965a59bd0f5e56932358eda75c590d6d8d0b415be961e4c9b3cf42a908ca70
7
+ data.tar.gz: 15d85548a5cdbc546fa86a2fe263e4be6d137e6e0597f17f13e5e75ceba2763b27c12315b3643e43f7712f134851d006ea20263eb8fcb8d6f03c26f6e7ade141