Module: Synapse

Extended by:
ActiveSupport::Autoload
Defined in:
lib/synapse.rb,
lib/synapse/command.rb,
lib/synapse/uow/uow.rb,
lib/synapse/version.rb,
lib/synapse/uow/factory.rb,
lib/synapse/uow/nesting.rb,
lib/synapse/wiring/wire.rb,
lib/synapse/uow/listener.rb,
lib/synapse/uow/provider.rb,
lib/synapse/common/errors.rb,
lib/synapse/domain/stream.rb,
lib/synapse/serialization.rb,
lib/synapse/command/errors.rb,
lib/synapse/command/wiring.rb,
lib/synapse/common/message.rb,
lib/synapse/domain/message.rb,
lib/synapse/upcasting/data.rb,
lib/synapse/command/gateway.rb,
lib/synapse/command/message.rb,
lib/synapse/event_bus/wiring.rb,
lib/synapse/common/identifier.rb,
lib/synapse/configuration/ext.rb,
lib/synapse/repository/errors.rb,
lib/synapse/upcasting/context.rb,
lib/synapse/common/duplication.rb,
lib/synapse/event_store/errors.rb,
lib/synapse/repository/locking.rb,
lib/synapse/upcasting/upcaster.rb,
lib/synapse/command/command_bus.rb,
lib/synapse/command/duplication.rb,
lib/synapse/event_bus/event_bus.rb,
lib/synapse/serialization/errors.rb,
lib/synapse/uow/storage_listener.rb,
lib/synapse/wiring/wire_registry.rb,
lib/synapse/auditing/audit_logger.rb,
lib/synapse/domain/aggregate_root.rb,
lib/synapse/event_sourcing/entity.rb,
lib/synapse/event_sourcing/member.rb,
lib/synapse/event_store/in_memory.rb,
lib/synapse/repository/repository.rb,
lib/synapse/wiring/message_wiring.rb,
lib/synapse/auditing/data_provider.rb,
lib/synapse/auditing/unit_listener.rb,
lib/synapse/command/command_filter.rb,
lib/synapse/common/message_builder.rb,
lib/synapse/domain/event_container.rb,
lib/synapse/domain/message_builder.rb,
lib/synapse/command/command_handler.rb,
lib/synapse/command/rollback_policy.rb,
lib/synapse/configuration/container.rb,
lib/synapse/configuration/dependent.rb,
lib/synapse/event_store/event_store.rb,
lib/synapse/process_manager/process.rb,
lib/synapse/repository/lock_manager.rb,
lib/synapse/serialization/converter.rb,
lib/synapse/uow/listener_collection.rb,
lib/synapse/uow/transaction_manager.rb,
lib/synapse/command/command_callback.rb,
lib/synapse/configuration/definition.rb,
lib/synapse/event_bus/event_listener.rb,
lib/synapse/serialization/serializer.rb,
lib/synapse/upcasting/upcaster_chain.rb,
lib/synapse/command/async_command_bus.rb,
lib/synapse/command/interceptor_chain.rb,
lib/synapse/event_bus/event_publisher.rb,
lib/synapse/event_sourcing/repository.rb,
lib/synapse/serialization/lazy_object.rb,
lib/synapse/upcasting/single_upcaster.rb,
lib/synapse/command/filters/validation.rb,
lib/synapse/command/simple_command_bus.rb,
lib/synapse/event_bus/simple_event_bus.rb,
lib/synapse/serialization/converter/ox.rb,
lib/synapse/serialization/message/data.rb,
lib/synapse/configuration/component/uow.rb,
lib/synapse/process_manager/correlation.rb,
lib/synapse/serialization/serializer/oj.rb,
lib/synapse/serialization/serializer/ox.rb,
lib/synapse/command/dispatch_interceptor.rb,
lib/synapse/process_manager/lock_manager.rb,
lib/synapse/repository/simple_repository.rb,
lib/synapse/serialization/converter/json.rb,
lib/synapse/auditing/dispatch_interceptor.rb,
lib/synapse/event_sourcing/aggregate_root.rb,
lib/synapse/event_sourcing/snapshot/taker.rb,
lib/synapse/serialization/converter/chain.rb,
lib/synapse/serialization/serialized_type.rb,
lib/synapse/common/concurrency/public_lock.rb,
lib/synapse/process_manager/wiring/process.rb,
lib/synapse/serialization/message/metadata.rb,
lib/synapse/command/gateway/retry_scheduler.rb,
lib/synapse/configuration/container_builder.rb,
lib/synapse/event_sourcing/storage_listener.rb,
lib/synapse/event_sourcing/stream_decorator.rb,
lib/synapse/process_manager/correlation_set.rb,
lib/synapse/process_manager/process_factory.rb,
lib/synapse/process_manager/process_manager.rb,
lib/synapse/serialization/converter_factory.rb,
lib/synapse/serialization/revision_resolver.rb,
lib/synapse/serialization/serialized_object.rb,
lib/synapse/configuration/definition_builder.rb,
lib/synapse/event_sourcing/aggregate_factory.rb,
lib/synapse/event_sourcing/conflict_resolver.rb,
lib/synapse/serialization/converter/identity.rb,
lib/synapse/serialization/message/serializer.rb,
lib/synapse/serialization/serializer/marshal.rb,
lib/synapse/command/gateway/retrying_callback.rb,
lib/synapse/configuration/component/event_bus.rb,
lib/synapse/configuration/component/upcasting.rb,
lib/synapse/process_manager/resource_injector.rb,
lib/synapse/command/interceptors/serialization.rb,
lib/synapse/common/concurrency/identifier_lock.rb,
lib/synapse/configuration/component/repository.rb,
lib/synapse/process_manager/process_repository.rb,
lib/synapse/repository/optimistic_lock_manager.rb,
lib/synapse/serialization/serializer/attribute.rb,
lib/synapse/configuration/component/command_bus.rb,
lib/synapse/repository/pessimistic_lock_manager.rb,
lib/synapse/event_sourcing/snapshot/count_stream.rb,
lib/synapse/process_manager/correlation_resolver.rb,
lib/synapse/process_manager/repository/in_memory.rb,
lib/synapse/configuration/component/serialization.rb,
lib/synapse/event_sourcing/snapshot/count_trigger.rb,
lib/synapse/configuration/component/event_sourcing.rb,
lib/synapse/process_manager/simple_process_manager.rb,
lib/synapse/process_manager/wiring/process_manager.rb,
lib/synapse/command/gateway/interval_retry_scheduler.rb,
lib/synapse/configuration/component/uow/unit_factory.rb,
lib/synapse/process_manager/pessimistic_lock_manager.rb,
lib/synapse/serialization/message/serialized_message.rb,
lib/synapse/serialization/message/serialization_aware.rb,
lib/synapse/configuration/component/command_bus/gateway.rb,
lib/synapse/process_manager/container_resource_injector.rb,
lib/synapse/serialization/message/serialized_object_cache.rb,
lib/synapse/configuration/component/serialization/serializer.rb,
lib/synapse/configuration/component/upcasting/upcaster_chain.rb,
lib/synapse/serialization/message/serialized_message_builder.rb,
lib/synapse/configuration/component/event_sourcing/repository.rb,
lib/synapse/serialization/message/serialization_aware_message.rb,
lib/synapse/configuration/component/event_bus/simple_event_bus.rb,
lib/synapse/configuration/component/repository/simple_repository.rb,
lib/synapse/configuration/component/command_bus/async_command_bus.rb,
lib/synapse/configuration/component/repository/locking_repository.rb,
lib/synapse/configuration/component/command_bus/simple_command_bus.rb,
lib/synapse/configuration/component/serialization/converter_factory.rb

Defined Under Namespace

Modules: Auditing, Command, Configuration, Domain, EventBus, EventSourcing, EventStore, ProcessManager, Repository, Serialization, UnitOfWork, Upcasting, Wiring Classes: ConfigurationError, DuplicationError, DuplicationRecorder, GuidIdentifierFactory, IdentifierFactory, IdentifierLock, Message, MessageBuilder, NonTransientError, PublicLock, SynapseError, TransientError

Constant Summary collapse

VERSION =
'0.5.1'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.build(&block) ⇒ undefined

Initializes the service container and the container builder

The given block is executed in the container of the container builder. Factory blocks are always deferred until the service is needed to build another service or is manually requested from the container.

This method can be called multiple times without losing the state of the container.

Examples:

Synapse.build do
  definition :account_projection do
    tag :event_listener, :projection
    use_factory do
      Bank::Projections::AccountProjection.new
    end
  end
end

Parameters:

  • block (Proc)

Returns:

  • (undefined)

See Also:



29
30
31
32
33
34
# File 'lib/synapse/configuration/ext.rb', line 29

def self.build(&block)
  self.container ||= Configuration::Container.new
  self.container_builder ||= Configuration::ContainerBuilder.new self.container

  self.container_builder.build_with(&block)
end

Instance Method Details

#containerConfiguration::Container



3
# File 'lib/synapse/configuration/ext.rb', line 3

mattr_accessor :container

#container_builderConfiguration::ContainerBuilder



6
# File 'lib/synapse/configuration/ext.rb', line 6

mattr_accessor :container_builder