solid_objects 0.13.3 → 0.14.1

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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +79 -0
  3. data/README.md +19 -11
  4. data/Rakefile +5 -0
  5. data/app/controllers/solid_objects/transmissions_controller.rb +32 -0
  6. data/config/routes.rb +1 -0
  7. data/docs/correctness.md +9 -0
  8. data/docs/operations.md +23 -1
  9. data/docs/research/solid_queue.md +2 -2
  10. data/docs/roadmap.md +25 -2
  11. data/docs/state-migrations.md +1 -1
  12. data/docs/transmission.md +198 -0
  13. data/examples/at_least_once/actor.rb +14 -0
  14. data/examples/at_least_once/boot.rb +47 -0
  15. data/examples/at_least_once/demo.rb +92 -0
  16. data/examples/at_least_once/effect_worker.rb +40 -0
  17. data/examples/at_least_once/sink.rb +27 -0
  18. data/lib/generators/solid_objects/templates/solid_objects.rb +17 -1
  19. data/lib/solid_objects/actor.rb +11 -0
  20. data/lib/solid_objects/actor_channel.rb +33 -3
  21. data/lib/solid_objects/configuration.rb +7 -1
  22. data/lib/solid_objects/engine.rb +4 -0
  23. data/lib/solid_objects/errors.rb +3 -0
  24. data/lib/solid_objects/transmission.rb +139 -0
  25. data/lib/solid_objects/version.rb +1 -1
  26. data/lib/solid_objects.rb +16 -0
  27. data/sig/generated/controllers/solid_objects/transmissions_controller.rbs +13 -0
  28. data/sig/generated/lib/solid_objects/actor.rbs +3 -0
  29. data/sig/generated/lib/solid_objects/actor_channel.rbs +10 -0
  30. data/sig/generated/lib/solid_objects/configuration.rbs +10 -2
  31. data/sig/generated/lib/solid_objects/errors.rbs +3 -0
  32. data/sig/generated/lib/solid_objects/transmission.rbs +34 -0
  33. data/sig/generated/lib/solid_objects.rbs +3 -0
  34. data/sig/support/framework.rbs +3 -0
  35. metadata +16 -6
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.13.3
4
+ version: 0.14.1
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-18 00:00:00.000000000 Z
11
+ date: 2026-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actioncable
@@ -297,6 +297,7 @@ files:
297
297
  - app/controllers/solid_objects/components_controller.rb
298
298
  - app/controllers/solid_objects/dead_letters_controller.rb
299
299
  - app/controllers/solid_objects/instances_controller.rb
300
+ - app/controllers/solid_objects/transmissions_controller.rb
300
301
  - app/helpers/solid_objects/actor_helper.rb
301
302
  - app/models/solid_objects/broadcast.rb
302
303
  - app/models/solid_objects/claimed_message.rb
@@ -358,6 +359,7 @@ files:
358
359
  - docs/roadmap.md
359
360
  - docs/security.md
360
361
  - docs/state-migrations.md
362
+ - docs/transmission.md
361
363
  - examples/application/README.md
362
364
  - examples/application/app/actors/chat_room_actor.rb
363
365
  - examples/application/app/actors/shopping_cart_actor.rb
@@ -369,6 +371,11 @@ files:
369
371
  - examples/application/app/views/chat_rooms/show.html.erb
370
372
  - examples/application/config/initializers/solid_objects.rb
371
373
  - examples/application/config/routes.rb
374
+ - examples/at_least_once/actor.rb
375
+ - examples/at_least_once/boot.rb
376
+ - examples/at_least_once/demo.rb
377
+ - examples/at_least_once/effect_worker.rb
378
+ - examples/at_least_once/sink.rb
372
379
  - exe/solid_objects
373
380
  - lib/generators/solid_objects/install_generator.rb
374
381
  - lib/generators/solid_objects/templates/solid_objects.rb
@@ -436,6 +443,7 @@ files:
436
443
  - lib/solid_objects/sync_diagnostics.rb
437
444
  - lib/solid_objects/synchronous_invocation.rb
438
445
  - lib/solid_objects/test_helper.rb
446
+ - lib/solid_objects/transmission.rb
439
447
  - lib/solid_objects/turbo_stream_renderer.rb
440
448
  - lib/solid_objects/version.rb
441
449
  - lib/solid_objects/wake_up.rb
@@ -457,6 +465,7 @@ files:
457
465
  - sig/generated/controllers/solid_objects/components_controller.rbs
458
466
  - sig/generated/controllers/solid_objects/dead_letters_controller.rbs
459
467
  - sig/generated/controllers/solid_objects/instances_controller.rbs
468
+ - sig/generated/controllers/solid_objects/transmissions_controller.rbs
460
469
  - sig/generated/helpers/solid_objects/actor_helper.rbs
461
470
  - sig/generated/lib/generators/solid_objects/install_generator.rbs
462
471
  - sig/generated/lib/solid_objects.rbs
@@ -523,6 +532,7 @@ files:
523
532
  - sig/generated/lib/solid_objects/sync_diagnostics.rbs
524
533
  - sig/generated/lib/solid_objects/synchronous_invocation.rbs
525
534
  - sig/generated/lib/solid_objects/test_helper.rbs
535
+ - sig/generated/lib/solid_objects/transmission.rbs
526
536
  - sig/generated/lib/solid_objects/turbo_stream_renderer.rbs
527
537
  - sig/generated/lib/solid_objects/version.rbs
528
538
  - sig/generated/lib/solid_objects/wake_up.rbs
@@ -575,12 +585,12 @@ licenses:
575
585
  - MIT
576
586
  metadata:
577
587
  allowed_push_host: https://rubygems.org
578
- bug_tracker_uri: https://github.com/cardmagic/solid_objects/issues
579
- changelog_uri: https://github.com/cardmagic/solid_objects/blob/main/CHANGELOG.md
580
- documentation_uri: https://github.com/cardmagic/solid_objects#readme
588
+ bug_tracker_uri: https://github.com/cardmagic/solid-objects-ruby/issues
589
+ changelog_uri: https://github.com/cardmagic/solid-objects-ruby/blob/main/CHANGELOG.md
590
+ documentation_uri: https://github.com/cardmagic/solid-objects-ruby#readme
581
591
  homepage_uri: https://solidobjects.dev
582
592
  rubygems_mfa_required: 'true'
583
- source_code_uri: https://github.com/cardmagic/solid_objects
593
+ source_code_uri: https://github.com/cardmagic/solid-objects-ruby
584
594
  post_install_message:
585
595
  rdoc_options: []
586
596
  require_paths: