Module: SolidObjects
- Extended by:
- Instrumentation
- Defined in:
- lib/solid_objects/actor.rb,
lib/solid_objects.rb,
lib/solid_objects/cli.rb,
lib/solid_objects/web.rb,
lib/solid_objects/lease.rb,
lib/solid_objects/state.rb,
lib/solid_objects/client.rb,
lib/solid_objects/doctor.rb,
lib/solid_objects/engine.rb,
lib/solid_objects/errors.rb,
lib/solid_objects/worker.rb,
lib/solid_objects/context.rb,
lib/solid_objects/mailbox.rb,
lib/solid_objects/version.rb,
lib/solid_objects/wake_up.rb,
lib/solid_objects/executor.rb,
lib/solid_objects/reference.rb,
lib/solid_objects/web/route.rb,
lib/solid_objects/activation.rb,
lib/solid_objects/actor_view.rb,
lib/solid_objects/supervisor.rb,
lib/solid_objects/web/action.rb,
lib/solid_objects/web/router.rb,
lib/solid_objects/stream_name.rb,
lib/solid_objects/test_helper.rb,
lib/solid_objects/web/helpers.rb,
lib/solid_objects/dom_identity.rb,
lib/solid_objects/stream_token.rb,
lib/solid_objects/transmission.rb,
app/models/solid_objects/effect.rb,
app/models/solid_objects/record.rb,
lib/solid_objects/actor_channel.rb,
lib/solid_objects/configuration.rb,
lib/solid_objects/lease_renewer.rb,
lib/solid_objects/serialization.rb,
lib/solid_objects/sync_deadline.rb,
lib/solid_objects/web/paginator.rb,
app/models/solid_objects/message.rb,
app/models/solid_objects/process.rb,
lib/solid_objects/actor_registry.rb,
lib/solid_objects/actor_snapshot.rb,
lib/solid_objects/administration.rb,
lib/solid_objects/caller_process.rb,
lib/solid_objects/component_view.rb,
lib/solid_objects/log_subscriber.rb,
lib/solid_objects/message_pruner.rb,
lib/solid_objects/process_pruner.rb,
lib/solid_objects/state_snapshot.rb,
lib/solid_objects/web/statistics.rb,
app/models/solid_objects/instance.rb,
app/models/solid_objects/reminder.rb,
lib/solid_objects/component_token.rb,
lib/solid_objects/effect_executor.rb,
lib/solid_objects/effect_registry.rb,
lib/solid_objects/instance_pruner.rb,
lib/solid_objects/instrumentation.rb,
lib/solid_objects/polling_backoff.rb,
lib/solid_objects/web/application.rb,
app/models/solid_objects/broadcast.rb,
lib/solid_objects/actor_definition.rb,
lib/solid_objects/database_adapter.rb,
lib/solid_objects/process_registry.rb,
lib/solid_objects/sync_diagnostics.rb,
lib/solid_objects/wake_up_adapters.rb,
lib/solid_objects/callable_keywords.rb,
lib/solid_objects/message_reference.rb,
lib/solid_objects/payload_broadcast.rb,
app/models/solid_objects/dead_letter.rb,
lib/solid_objects/activation_manager.rb,
lib/solid_objects/broadcast_executor.rb,
lib/solid_objects/component_renderer.rb,
lib/solid_objects/reminder_scheduler.rb,
lib/solid_objects/dead_letter_manager.rb,
lib/solid_objects/web/csrf_protection.rb,
app/helpers/solid_objects/actor_helper.rb,
app/models/solid_objects/ready_message.rb,
lib/solid_objects/operation_dispatcher.rb,
lib/solid_objects/turbo_stream_renderer.rb,
app/models/solid_objects/claimed_message.rb,
lib/solid_objects/commit_action_registry.rb,
lib/solid_objects/component_registration.rb,
lib/solid_objects/synchronous_invocation.rb,
lib/solid_objects/wake_up_adapters/redis.rb,
lib/solid_objects/application_write_guard.rb,
lib/solid_objects/component_path_resolver.rb,
lib/solid_objects/component_subscriptions.rb,
lib/solid_objects/database_adapters/mysql.rb,
lib/solid_objects/application_actor_loader.rb,
lib/solid_objects/database_adapters/sqlite.rb,
lib/solid_objects/wake_up_adapters/postgresql.rb,
lib/generators/solid_objects/install_generator.rb,
lib/solid_objects/database_adapters/postgresql.rb,
lib/solid_objects/action_cable_broadcast_adapter.rb,
app/controllers/solid_objects/instances_controller.rb,
app/controllers/solid_objects/components_controller.rb,
app/controllers/solid_objects/application_controller.rb,
app/controllers/solid_objects/dead_letters_controller.rb,
app/controllers/solid_objects/transmissions_controller.rb,
sig/generated/lib/solid_objects.rbs,
sig/generated/lib/solid_objects/cli.rbs,
sig/generated/lib/solid_objects/web.rbs,
sig/generated/lib/solid_objects/actor.rbs,
sig/generated/lib/solid_objects/lease.rbs,
sig/generated/lib/solid_objects/state.rbs,
sig/generated/lib/solid_objects/client.rbs,
sig/generated/lib/solid_objects/doctor.rbs,
sig/generated/lib/solid_objects/engine.rbs,
sig/generated/lib/solid_objects/errors.rbs,
sig/generated/lib/solid_objects/worker.rbs,
sig/generated/lib/solid_objects/context.rbs,
sig/generated/lib/solid_objects/mailbox.rbs,
sig/generated/lib/solid_objects/version.rbs,
sig/generated/lib/solid_objects/wake_up.rbs,
sig/generated/lib/solid_objects/executor.rbs,
sig/generated/lib/solid_objects/reference.rbs,
sig/generated/lib/solid_objects/web/route.rbs,
sig/generated/models/solid_objects/effect.rbs,
sig/generated/models/solid_objects/record.rbs,
sig/generated/lib/solid_objects/activation.rbs,
sig/generated/lib/solid_objects/actor_view.rbs,
sig/generated/lib/solid_objects/supervisor.rbs,
sig/generated/lib/solid_objects/web/action.rbs,
sig/generated/lib/solid_objects/web/router.rbs,
sig/generated/models/solid_objects/message.rbs,
sig/generated/models/solid_objects/process.rbs,
sig/generated/lib/solid_objects/stream_name.rbs,
sig/generated/lib/solid_objects/test_helper.rbs,
sig/generated/lib/solid_objects/web/helpers.rbs,
sig/generated/models/solid_objects/instance.rbs,
sig/generated/models/solid_objects/reminder.rbs,
sig/generated/lib/solid_objects/dom_identity.rbs,
sig/generated/lib/solid_objects/stream_token.rbs,
sig/generated/lib/solid_objects/transmission.rbs,
sig/generated/models/solid_objects/broadcast.rbs,
sig/generated/lib/solid_objects/actor_channel.rbs,
sig/generated/lib/solid_objects/configuration.rbs,
sig/generated/lib/solid_objects/lease_renewer.rbs,
sig/generated/lib/solid_objects/serialization.rbs,
sig/generated/lib/solid_objects/sync_deadline.rbs,
sig/generated/lib/solid_objects/web/paginator.rbs,
sig/generated/lib/solid_objects/actor_registry.rbs,
sig/generated/lib/solid_objects/actor_snapshot.rbs,
sig/generated/lib/solid_objects/administration.rbs,
sig/generated/lib/solid_objects/caller_process.rbs,
sig/generated/lib/solid_objects/component_view.rbs,
sig/generated/lib/solid_objects/log_subscriber.rbs,
sig/generated/lib/solid_objects/message_pruner.rbs,
sig/generated/lib/solid_objects/process_pruner.rbs,
sig/generated/lib/solid_objects/state_snapshot.rbs,
sig/generated/lib/solid_objects/web/statistics.rbs,
sig/generated/models/solid_objects/dead_letter.rbs,
sig/generated/lib/solid_objects/component_token.rbs,
sig/generated/lib/solid_objects/effect_executor.rbs,
sig/generated/lib/solid_objects/effect_registry.rbs,
sig/generated/lib/solid_objects/instance_pruner.rbs,
sig/generated/lib/solid_objects/instrumentation.rbs,
sig/generated/lib/solid_objects/polling_backoff.rbs,
sig/generated/lib/solid_objects/web/application.rbs,
sig/generated/helpers/solid_objects/actor_helper.rbs,
sig/generated/lib/solid_objects/actor_definition.rbs,
sig/generated/lib/solid_objects/database_adapter.rbs,
sig/generated/lib/solid_objects/process_registry.rbs,
sig/generated/lib/solid_objects/sync_diagnostics.rbs,
sig/generated/lib/solid_objects/wake_up_adapters.rbs,
sig/generated/models/solid_objects/ready_message.rbs,
sig/generated/lib/solid_objects/callable_keywords.rbs,
sig/generated/lib/solid_objects/message_reference.rbs,
sig/generated/lib/solid_objects/payload_broadcast.rbs,
sig/generated/lib/solid_objects/activation_manager.rbs,
sig/generated/lib/solid_objects/broadcast_executor.rbs,
sig/generated/lib/solid_objects/component_renderer.rbs,
sig/generated/lib/solid_objects/reminder_scheduler.rbs,
sig/generated/models/solid_objects/claimed_message.rbs,
sig/generated/lib/solid_objects/dead_letter_manager.rbs,
sig/generated/lib/solid_objects/web/csrf_protection.rbs,
sig/generated/lib/solid_objects/operation_dispatcher.rbs,
sig/generated/lib/solid_objects/turbo_stream_renderer.rbs,
sig/generated/lib/solid_objects/commit_action_registry.rbs,
sig/generated/lib/solid_objects/component_registration.rbs,
sig/generated/lib/solid_objects/synchronous_invocation.rbs,
sig/generated/lib/solid_objects/wake_up_adapters/redis.rbs,
sig/generated/lib/solid_objects/application_write_guard.rbs,
sig/generated/lib/solid_objects/component_path_resolver.rbs,
sig/generated/lib/solid_objects/component_subscriptions.rbs,
sig/generated/lib/solid_objects/database_adapters/mysql.rbs,
sig/generated/lib/solid_objects/application_actor_loader.rbs,
sig/generated/lib/solid_objects/database_adapters/sqlite.rbs,
sig/generated/lib/solid_objects/wake_up_adapters/postgresql.rbs,
sig/generated/controllers/solid_objects/instances_controller.rbs,
sig/generated/lib/generators/solid_objects/install_generator.rbs,
sig/generated/lib/solid_objects/database_adapters/postgresql.rbs,
sig/generated/controllers/solid_objects/components_controller.rbs,
sig/generated/controllers/solid_objects/application_controller.rbs,
sig/generated/lib/solid_objects/action_cable_broadcast_adapter.rbs,
sig/generated/controllers/solid_objects/dead_letters_controller.rbs,
sig/generated/controllers/solid_objects/transmissions_controller.rbs
Overview
Defined Under Namespace
Modules: ActorHelper, CallableKeywords, ComponentToken, Context, DatabaseAdapters, DomIdentity, Generators, Instrumentation, LogSubscriber, Serialization, StreamName, StreamToken, TestHelper, Transmission, TurboStreamRenderer, WakeUpAdapters
Classes: ActionCableBroadcastAdapter, Activation, ActivationManager, Actor, ActorCallCycle, ActorChannel, ActorDefinition, ActorDestroyed, ActorRegistry, ActorSnapshot, ActorView, Administration, ApplicationActorLoader, ApplicationController, ApplicationWriteForbidden, ApplicationWriteGuard, Broadcast, BroadcastExecutor, CLI, CallerProcess, ClaimedMessage, Client, CommitActionContext, CommitActionRegistry, CommitActionUnavailable, ComponentPathResolver, ComponentRegistration, ComponentRenderer, ComponentSubscriptions, ComponentView, ComponentsController, Configuration, DatabaseAdapter, DatabaseDeadlineExceeded, DeadLetter, DeadLetterManager, DeadLettersController, Doctor, Effect, EffectContext, EffectExecutor, EffectRegistry, Engine, Error, Executor, IdempotencyConflict, Instance, InstancePruner, InstancesController, InvalidActor, InvalidComponentToken, InvalidPayload, InvalidPayloadBroadcast, InvalidRejectionCode, InvalidStreamToken, InvalidTransmission, Lease, LeaseRenewer, LostActivation, Mailbox, MailboxFull, Message, MessageContext, MessageFailed, MessagePruner, MessageReference, NonRetryableError, OperationDispatcher, PayloadBroadcast, PayloadTooLarge, PollingBackoff, Process, ProcessPruner, ProcessRegistry, ReadyMessage, Record, Reference, Rejected, Reminder, ReminderScheduler, State, StateDefinition, StateMigrationError, StateSnapshot, Supervisor, SyncDeadline, SyncDiagnostics, SyncEnqueueTimeout, SyncInsideTransaction, SyncTimeout, SynchronousInvocation, TransmissionsController, Unauthorized, UnknownActorType, UnknownCommitAction, UnknownComponent, UnknownComponentDependency, UnknownMessage, UnknownPayloadBroadcast, UnsupportedComponentRendering, UnsupportedDatabase, WakeUp, Web, Worker
Constant Summary
collapse
- VERSION =
"0.14.2"
Class Method Summary
collapse
instrument
Class Method Details
158
159
160
|
# File 'lib/solid_objects.rb', line 158
def administration
@administration ||= Administration.new
end
|
136
137
138
139
|
# File 'lib/solid_objects.rb', line 136
def caller_process
require "solid_objects/caller_process"
@caller_process ||= CallerProcess.new
end
|
130
131
132
133
|
# File 'lib/solid_objects.rb', line 130
def client
require "solid_objects/client"
@client ||= Client.new
end
|
120
121
122
|
# File 'lib/solid_objects.rb', line 120
def commit_action_registry
@commit_action_registry ||= CommitActionRegistry.new
end
|
80
81
82
|
# File 'lib/solid_objects.rb', line 80
def configuration
@configuration ||= Configuration.new
end
|
85
86
87
88
|
# File 'lib/solid_objects.rb', line 85
def configure
yield configuration
configuration.validate!
end
|
193
194
195
196
|
# File 'lib/solid_objects.rb', line 193
def database_adapter
require "solid_objects/database_adapter"
@database_adapter ||= DatabaseAdapter.for(SolidObjects::Record.connection)
end
|
153
154
155
|
# File 'lib/solid_objects.rb', line 153
def dead_letters
@dead_letters ||= DeadLetterManager.new
end
|
96
97
98
|
# File 'lib/solid_objects.rb', line 96
def effect_registry
@effect_registry ||= EffectRegistry.new
end
|
.mutable_copy(value) ⇒ Object
173
174
175
|
# File 'lib/solid_objects.rb', line 173
def mutable_copy(value)
Serialization.deep_copy(value)
end
|
.register_actor(type, actor_class) ⇒ Class
168
169
170
|
# File 'lib/solid_objects.rb', line 168
def register_actor(type, actor_class)
registry.register(type, actor_class)
end
|
.register_commit_action(name) {|arg0, arg1| ... } ⇒ Proc
125
126
127
|
# File 'lib/solid_objects.rb', line 125
def register_commit_action(name, &handler)
commit_action_registry.register(name, handler)
end
|
.register_effect(name) {|arg0, arg1| ... } ⇒ Proc
101
102
103
|
# File 'lib/solid_objects.rb', line 101
def register_effect(name, &handler)
effect_registry.register(name, handler)
end
|
.register_transmit(effect_name: Transmission::EFFECT_NAME) {|arg0| ... } ⇒ Proc
106
107
108
109
110
111
112
113
114
115
116
117
|
# File 'lib/solid_objects.rb', line 106
def register_transmit(effect_name: Transmission::EFFECT_NAME, &deliver)
raise ArgumentError, "register_transmit requires a delivery block" unless deliver
register_effect(effect_name) do |arguments, context|
Transmission.deliver_through(
effect_name: effect_name.to_s,
arguments:,
context:,
deliver:
)
end
end
|
91
92
93
|
# File 'lib/solid_objects.rb', line 91
def registry
@registry ||= ActorRegistry.new
end
|
.reset! ⇒ void
This method returns an undefined value.
.reset_caller_process! ⇒ Boolean
142
143
144
145
146
147
148
149
150
|
# File 'lib/solid_objects.rb', line 142
def reset_caller_process!
caller_process = @caller_process
@caller_process = nil
return false unless caller_process
caller_process.stop
rescue ActiveRecord::ActiveRecordError
false
end
|
.table_name(name) ⇒ String
163
164
165
|
# File 'lib/solid_objects.rb', line 163
def table_name(name)
"#{configuration.table_name_prefix}#{name}"
end
|
199
200
201
|
# File 'lib/solid_objects.rb', line 199
def wake_up
@wake_up ||= configuration.wake_up_adapter || WakeUp.new
end
|