solid_objects 0.11.0 → 0.12.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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +39 -16
  4. data/app/controllers/solid_objects/components_controller.rb +4 -4
  5. data/app/models/solid_objects/message.rb +1 -1
  6. data/app/views/solid_objects/dead_letters/index.html.erb +1 -1
  7. data/app/views/solid_objects/instances/show.html.erb +1 -1
  8. data/benchmark/support.rb +10 -10
  9. data/db/migrate/20260813000000_rename_message_dispatch_columns.rb +53 -0
  10. data/docs/architecture.md +11 -9
  11. data/docs/authorization.md +2 -2
  12. data/docs/database-schema.md +4 -4
  13. data/docs/development.md +1 -1
  14. data/docs/migrating-existing-state.md +1 -3
  15. data/docs/roadmap.md +1 -1
  16. data/lib/solid_objects/actor.rb +43 -32
  17. data/lib/solid_objects/actor_channel.rb +3 -3
  18. data/lib/solid_objects/actor_definition.rb +9 -6
  19. data/lib/solid_objects/actor_view.rb +1 -1
  20. data/lib/solid_objects/application_write_guard.rb +1 -1
  21. data/lib/solid_objects/client.rb +52 -52
  22. data/lib/solid_objects/component_registration.rb +2 -2
  23. data/lib/solid_objects/component_renderer.rb +1 -1
  24. data/lib/solid_objects/component_subscriptions.rb +21 -21
  25. data/lib/solid_objects/database_adapters/sqlite.rb +7 -1
  26. data/lib/solid_objects/dead_letter_manager.rb +4 -4
  27. data/lib/solid_objects/doctor.rb +8 -8
  28. data/lib/solid_objects/effect_executor.rb +22 -22
  29. data/lib/solid_objects/errors.rb +27 -27
  30. data/lib/solid_objects/executor.rb +40 -38
  31. data/lib/solid_objects/lease.rb +3 -3
  32. data/lib/solid_objects/mailbox.rb +34 -27
  33. data/lib/solid_objects/operation_dispatcher.rb +51 -0
  34. data/lib/solid_objects/payload_broadcast.rb +1 -1
  35. data/lib/solid_objects/reference.rb +60 -29
  36. data/lib/solid_objects/reminder_scheduler.rb +6 -6
  37. data/lib/solid_objects/sync_diagnostics.rb +6 -6
  38. data/lib/solid_objects/turbo_stream_renderer.rb +13 -13
  39. data/lib/solid_objects/version.rb +1 -1
  40. data/lib/solid_objects.rb +1 -0
  41. data/sig/generated/controllers/solid_objects/components_controller.rbs +2 -2
  42. data/sig/generated/lib/solid_objects/actor.rbs +17 -17
  43. data/sig/generated/lib/solid_objects/actor_definition.rbs +4 -4
  44. data/sig/generated/lib/solid_objects/client.rbs +8 -8
  45. data/sig/generated/lib/solid_objects/component_registration.rbs +2 -2
  46. data/sig/generated/lib/solid_objects/component_subscriptions.rbs +8 -8
  47. data/sig/generated/lib/solid_objects/database_adapters/sqlite.rbs +3 -0
  48. data/sig/generated/lib/solid_objects/effect_executor.rbs +2 -2
  49. data/sig/generated/lib/solid_objects/errors.rbs +18 -18
  50. data/sig/generated/lib/solid_objects/executor.rbs +10 -10
  51. data/sig/generated/lib/solid_objects/lease.rbs +2 -2
  52. data/sig/generated/lib/solid_objects/mailbox.rbs +8 -8
  53. data/sig/generated/lib/solid_objects/operation_dispatcher.rbs +35 -0
  54. data/sig/generated/lib/solid_objects/reference.rbs +7 -4
  55. data/sig/generated/lib/solid_objects/sync_diagnostics.rbs +2 -2
  56. data/sig/generated/lib/solid_objects/turbo_stream_renderer.rbs +8 -8
  57. metadata +5 -2
@@ -9,14 +9,14 @@ module SolidObjects
9
9
  # @rbs (Broadcast) -> String
10
10
  def self?.observable: (Broadcast) -> String
11
11
 
12
- # @rbs (Reference, Symbol | String, untyped) -> String
13
- def self?.observable_value: (Reference, Symbol | String, untyped) -> String
12
+ # @rbs (reference: Reference, name: Symbol | String, value: untyped) -> String
13
+ def self?.observable_value: (reference: Reference, name: Symbol | String, value: untyped) -> String
14
14
 
15
- # @rbs (ComponentRegistration, Integer, Integer) -> String
16
- def self?.component_refresh: (ComponentRegistration, Integer, Integer) -> String
15
+ # @rbs (registration: ComponentRegistration, instance_id: Integer, revision: Integer) -> String
16
+ def self?.component_refresh: (registration: ComponentRegistration, instance_id: Integer, revision: Integer) -> String
17
17
 
18
- # @rbs (Array[ComponentRegistration], Integer, Integer) -> String
19
- def self?.batch_refresh: (Array[ComponentRegistration], Integer, Integer) -> String
18
+ # @rbs (registrations: Array[ComponentRegistration], instance_id: Integer, revision: Integer) -> String
19
+ def self?.batch_refresh: (registrations: Array[ComponentRegistration], instance_id: Integer, revision: Integer) -> String
20
20
 
21
21
  # @rbs (Hash[String, untyped]) -> String
22
22
  def self?.state_payload: (Hash[String, untyped]) -> String
@@ -27,7 +27,7 @@ module SolidObjects
27
27
  # @rbs (untyped) -> String
28
28
  def self?.display_value: (untyped) -> String
29
29
 
30
- # @rbs (ComponentRegistration, Integer, Integer) -> String
31
- def self?.morph_component_refresh: (ComponentRegistration, Integer, Integer) -> String
30
+ # @rbs (registration: ComponentRegistration, instance_id: Integer, revision: Integer) -> String
31
+ def self?.morph_component_refresh: (registration: ComponentRegistration, instance_id: Integer, revision: Integer) -> String
32
32
  end
33
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solid_objects
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lucas Carlson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-08-11 00:00:00.000000000 Z
11
+ date: 2026-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actioncable
@@ -312,6 +312,7 @@ files:
312
312
  - config/routes.rb
313
313
  - db/migrate/20260805000000_create_solid_objects_tables.rb
314
314
  - db/migrate/20260806000000_add_state_revision_to_solid_objects_instances.rb
315
+ - db/migrate/20260813000000_rename_message_dispatch_columns.rb
315
316
  - docs/adr/0001-postgresql-backend.md
316
317
  - docs/adr/0002-jsonb-actor-state.md
317
318
  - docs/adr/0003-mailbox-ordering.md
@@ -401,6 +402,7 @@ files:
401
402
  - lib/solid_objects/mailbox.rb
402
403
  - lib/solid_objects/message_pruner.rb
403
404
  - lib/solid_objects/message_reference.rb
405
+ - lib/solid_objects/operation_dispatcher.rb
404
406
  - lib/solid_objects/payload_broadcast.rb
405
407
  - lib/solid_objects/process_pruner.rb
406
408
  - lib/solid_objects/process_registry.rb
@@ -476,6 +478,7 @@ files:
476
478
  - sig/generated/lib/solid_objects/mailbox.rbs
477
479
  - sig/generated/lib/solid_objects/message_pruner.rbs
478
480
  - sig/generated/lib/solid_objects/message_reference.rbs
481
+ - sig/generated/lib/solid_objects/operation_dispatcher.rbs
479
482
  - sig/generated/lib/solid_objects/payload_broadcast.rbs
480
483
  - sig/generated/lib/solid_objects/process_pruner.rbs
481
484
  - sig/generated/lib/solid_objects/process_registry.rbs