orfeas_lyra 0.8.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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +803 -1
  3. data/README.md +201 -27
  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/routes.rb +4 -2
  14. data/lib/lyra/access_log.rb +121 -0
  15. data/lib/lyra/advisory_lock.rb +45 -0
  16. data/lib/lyra/aggregate.rb +25 -13
  17. data/lib/lyra/associations/event_aware.rb +3 -4
  18. data/lib/lyra/associations/habtm_links.rb +255 -0
  19. data/lib/lyra/bypass_events.rb +208 -0
  20. data/lib/lyra/command.rb +3 -0
  21. data/lib/lyra/command_handler.rb +164 -42
  22. data/lib/lyra/configuration.rb +217 -8
  23. data/lib/lyra/consistency/read_your_writes.rb +74 -23
  24. data/lib/lyra/domain_events.rb +157 -0
  25. data/lib/lyra/dual_view.rb +27 -6
  26. data/lib/lyra/dual_view_sampler.rb +33 -0
  27. data/lib/lyra/encrypted_attributes.rb +101 -0
  28. data/lib/lyra/engine.rb +67 -5
  29. data/lib/lyra/erasure.rb +316 -0
  30. data/lib/lyra/event.rb +120 -2
  31. data/lib/lyra/event_flow.rb +16 -6
  32. data/lib/lyra/event_serializer.rb +45 -0
  33. data/lib/lyra/event_store_adapter.rb +58 -62
  34. data/lib/lyra/genesis.rb +189 -0
  35. data/lib/lyra/id_generator.rb +42 -10
  36. data/lib/lyra/interceptors/association_interceptor.rb +123 -6
  37. data/lib/lyra/interceptors/crud_interceptor.rb +388 -71
  38. data/lib/lyra/interceptors/lazy_reads.rb +46 -0
  39. data/lib/lyra/mode_sync.rb +125 -0
  40. data/lib/lyra/mode_transition.rb +386 -0
  41. data/lib/lyra/model_selection.rb +160 -0
  42. data/lib/lyra/optimistic_locking.rb +88 -0
  43. data/lib/lyra/optional_dependency.rb +24 -0
  44. data/lib/lyra/own_connection.rb +54 -0
  45. data/lib/lyra/privacy/adapters/pam.rb +151 -0
  46. data/lib/lyra/privacy/gdpr_compliance.rb +50 -0
  47. data/lib/lyra/privacy/interface.rb +262 -0
  48. data/lib/lyra/privacy/pii_detector.rb +8 -10
  49. data/lib/lyra/privacy/pii_masker.rb +30 -13
  50. data/lib/lyra/privacy/policy_integration.rb +36 -141
  51. data/lib/lyra/projection.rb +30 -7
  52. data/lib/lyra/projections/association_conditions.rb +81 -0
  53. data/lib/lyra/projections/async_checkpoint.rb +57 -0
  54. data/lib/lyra/projections/async_projection_job.rb +68 -15
  55. data/lib/lyra/projections/cached_joins.rb +192 -0
  56. data/lib/lyra/projections/cached_projection.rb +278 -162
  57. data/lib/lyra/projections/cached_relation.rb +666 -85
  58. data/lib/lyra/projections/deferred_relation.rb +120 -0
  59. data/lib/lyra/projections/event_store_reader.rb +27 -4
  60. data/lib/lyra/projections/lazy_projection.rb +259 -0
  61. data/lib/lyra/projections/model_projection.rb +32 -34
  62. data/lib/lyra/projections/rebuild.rb +58 -29
  63. data/lib/lyra/projections/reference_links.rb +309 -0
  64. data/lib/lyra/purpose_bound_reads.rb +197 -0
  65. data/lib/lyra/repair.rb +114 -0
  66. data/lib/lyra/retention.rb +180 -0
  67. data/lib/lyra/schema/event_class_registrar.rb +2 -1
  68. data/lib/lyra/schema/validator.rb +14 -5
  69. data/lib/lyra/sti_stream_migration.rb +70 -0
  70. data/lib/lyra/strict_data_access.rb +225 -175
  71. data/lib/lyra/temporal.rb +128 -0
  72. data/lib/lyra/verification/bypass_workflow.rb +170 -0
  73. data/lib/lyra/verification/crud_lifecycle_workflow.rb +32 -6
  74. data/lib/lyra/verification/workflow_generator.rb +73 -179
  75. data/lib/lyra/version.rb +1 -1
  76. data/lib/lyra.rb +113 -17
  77. data/lib/tasks/lyra_mode.rake +89 -0
  78. data/lib/tasks/lyra_projections.rake +43 -0
  79. data/lib/tasks/lyra_schema.rake +4 -0
  80. data/lib/tasks/lyra_workflows.rake +28 -27
  81. metadata +36 -5
  82. data/lib/lyra/event_mapper.rb +0 -106
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78b09c46f0962b726d30c8cd53850948b8ae2ef72b3cf2d696e9d380e04e7863
4
- data.tar.gz: 27e7df735b3cfde195fa2b5af0995c381d6ad564177446e85f42ac131eaf38eb
3
+ metadata.gz: 8e940368c4357d27be315d08d22f791d399356c36884472120c6c2a4f82731fe
4
+ data.tar.gz: f59258ee1575e968c436cd1f4ab0cd8ff567438d5571f8f1fd438ccfb944446c
5
5
  SHA512:
6
- metadata.gz: 87974ed14d52033ec9535e7226196850eafa0d328e1a1c66c3158c6e610d9bda007492f6343b7c0030cbba3ccc8f94081295b4877d34966aa5f7625175ee18ea
7
- data.tar.gz: 956d753a51e3ce4d6297adebf063da64c4afaee369de7974f4a2bb4040f80c89702fc0b4d777d0119e8333cfdf40bba3720a4f484de84318a60278a74e90cda4
6
+ metadata.gz: 5e6b4a7a5ce88cbc5c10434ef0b6af0a4f09c6109f66af253fdab4a6771b9e23f3965a59bd0f5e56932358eda75c590d6d8d0b415be961e4c9b3cf42a908ca70
7
+ data.tar.gz: 15d85548a5cdbc546fa86a2fe263e4be6d137e6e0597f17f13e5e75ceba2763b27c12315b3643e43f7712f134851d006ea20263eb8fcb8d6f03c26f6e7ade141