Class: Sequent::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/sequent/configuration.rb

Constant Summary collapse

DEFAULT_VERSIONS_TABLE_NAME =
'sequent_versions'
DEFAULT_REPLAYED_IDS_TABLE_NAME =
'sequent_replayed_ids'
DEFAULT_MIGRATION_SQL_FILES_DIRECTORY =
'db/tables'
DEFAULT_DATABASE_CONFIG_DIRECTORY =
'db'
DEFAULT_DATABASE_SCHEMA_DIRECTORY =
'db'
DEFAULT_VIEW_SCHEMA_NAME =
'view_schema'
DEFAULT_EVENT_STORE_SCHEMA_NAME =
'sequent_schema'
MIGRATIONS_CLASS_NAME =
'Sequent::Migrations::Projectors'
DEFAULT_NUMBER_OF_REPLAY_PROCESSES =
4
DEFAULT_OFFLINE_REPLAY_PERSISTOR_CLASS =
Sequent::Core::Persistors::ActiveRecordPersistor
DEFAULT_ONLINE_REPLAY_PERSISTOR_CLASS =
Sequent::Core::Persistors::ActiveRecordPersistor
DEFAULT_EVENT_RECORD_HOOKS_CLASS =
Sequent::Core::EventRecordHooks
DEFAULT_STRICT_CHECK_ATTRIBUTES_ON_APPLY_EVENTS =
false
DEFAULT_ERROR_LOCALE_RESOLVER =
-> { I18n.locale || :en }

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/sequent/configuration.rb', line 77

def initialize
  self.command_handlers = []
  self.command_filters = []
  self.event_handlers = []

  self.aggregate_repository = Sequent::Core::AggregateRepository.new
  self.event_store = Sequent::Core::EventStore.new
  self.command_service = Sequent::Core::CommandService.new
  self.event_record_class = Sequent::Core::EventRecord
  self.stream_record_class = Sequent::Core::StreamRecord
  self.snapshot_event_class = Sequent::Core::SnapshotEvent
  self.transaction_provider = Sequent::Core::Transactions::ActiveRecordTransactionProvider.new
  self.uuid_generator = Sequent::Core::RandomUuidGenerator
  self.event_publisher = Sequent::Core::EventPublisher.new
  self.disable_event_handlers = false
  self.versions_table_name = DEFAULT_VERSIONS_TABLE_NAME
  self.replayed_ids_table_name = DEFAULT_REPLAYED_IDS_TABLE_NAME
  self.migration_sql_files_directory = DEFAULT_MIGRATION_SQL_FILES_DIRECTORY
  self.view_schema_name = DEFAULT_VIEW_SCHEMA_NAME
  self.event_store_schema_name = DEFAULT_EVENT_STORE_SCHEMA_NAME
  self.migrations_class_name = MIGRATIONS_CLASS_NAME
  self.number_of_replay_processes = DEFAULT_NUMBER_OF_REPLAY_PROCESSES

  self.event_record_hooks_class = DEFAULT_EVENT_RECORD_HOOKS_CLASS

  self.offline_replay_persistor_class = DEFAULT_OFFLINE_REPLAY_PERSISTOR_CLASS
  self.online_replay_persistor_class = DEFAULT_ONLINE_REPLAY_PERSISTOR_CLASS
  self.database_config_directory = DEFAULT_DATABASE_CONFIG_DIRECTORY
  self.database_schema_directory = DEFAULT_DATABASE_SCHEMA_DIRECTORY
  self.strict_check_attributes_on_apply_events = DEFAULT_STRICT_CHECK_ATTRIBUTES_ON_APPLY_EVENTS

  self.logger = Logger.new(STDOUT).tap { |l| l.level = Logger::INFO }
  self.error_locale_resolver = DEFAULT_ERROR_LOCALE_RESOLVER
end

Instance Attribute Details

#aggregate_repositoryObject

Returns the value of attribute aggregate_repository.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def aggregate_repository
  @aggregate_repository
end

#command_filtersObject

Returns the value of attribute command_filters.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def command_filters
  @command_filters
end

#command_handlersObject

Returns the value of attribute command_handlers.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def command_handlers
  @command_handlers
end

#command_serviceObject

Returns the value of attribute command_service.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def command_service
  @command_service
end

#database_config_directoryObject

Returns the value of attribute database_config_directory.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def database_config_directory
  @database_config_directory
end

#database_schema_directoryObject

Returns the value of attribute database_schema_directory.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def database_schema_directory
  @database_schema_directory
end

#disable_event_handlersObject

Returns the value of attribute disable_event_handlers.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def disable_event_handlers
  @disable_event_handlers
end

#error_locale_resolverObject

Returns the value of attribute error_locale_resolver.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def error_locale_resolver
  @error_locale_resolver
end

#event_handlersObject

Returns the value of attribute event_handlers.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def event_handlers
  @event_handlers
end

#event_publisherObject

Returns the value of attribute event_publisher.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def event_publisher
  @event_publisher
end

#event_record_classObject

Returns the value of attribute event_record_class.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def event_record_class
  @event_record_class
end

#event_record_hooks_classObject

Returns the value of attribute event_record_hooks_class.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def event_record_hooks_class
  @event_record_hooks_class
end

#event_storeObject

Returns the value of attribute event_store.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def event_store
  @event_store
end

#event_store_schema_nameObject

Returns the value of attribute event_store_schema_name.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def event_store_schema_name
  @event_store_schema_name
end

#loggerObject

Returns the value of attribute logger.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def logger
  @logger
end

#migration_sql_files_directoryObject

Returns the value of attribute migration_sql_files_directory.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def migration_sql_files_directory
  @migration_sql_files_directory
end

#migrations_class_nameObject

Returns the value of attribute migrations_class_name.



61
62
63
# File 'lib/sequent/configuration.rb', line 61

def migrations_class_name
  @migrations_class_name
end

#number_of_replay_processesObject

Returns the value of attribute number_of_replay_processes.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def number_of_replay_processes
  @number_of_replay_processes
end

#offline_replay_persistor_classObject

Returns the value of attribute offline_replay_persistor_class.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def offline_replay_persistor_class
  @offline_replay_persistor_class
end

#online_replay_persistor_classObject

Returns the value of attribute online_replay_persistor_class.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def online_replay_persistor_class
  @online_replay_persistor_class
end

#replayed_ids_table_nameObject

Returns the value of attribute replayed_ids_table_name.



61
62
63
# File 'lib/sequent/configuration.rb', line 61

def replayed_ids_table_name
  @replayed_ids_table_name
end

#snapshot_event_classObject

Returns the value of attribute snapshot_event_class.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def snapshot_event_class
  @snapshot_event_class
end

#stream_record_classObject

Returns the value of attribute stream_record_class.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def stream_record_class
  @stream_record_class
end

#strict_check_attributes_on_apply_eventsObject

Returns the value of attribute strict_check_attributes_on_apply_events.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def strict_check_attributes_on_apply_events
  @strict_check_attributes_on_apply_events
end

#transaction_providerObject

Returns the value of attribute transaction_provider.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def transaction_provider
  @transaction_provider
end

#uuid_generatorObject

Returns the value of attribute uuid_generator.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def uuid_generator
  @uuid_generator
end

#versions_table_nameObject

Returns the value of attribute versions_table_name.



61
62
63
# File 'lib/sequent/configuration.rb', line 61

def versions_table_name
  @versions_table_name
end

#view_schema_nameObject

Returns the value of attribute view_schema_name.



35
36
37
# File 'lib/sequent/configuration.rb', line 35

def view_schema_name
  @view_schema_name
end

Class Method Details

.instanceObject



65
66
67
# File 'lib/sequent/configuration.rb', line 65

def self.instance
  @instance ||= new
end

.resetObject



69
70
71
# File 'lib/sequent/configuration.rb', line 69

def self.reset
  @instance = new
end

.restore(configuration) ⇒ Object



73
74
75
# File 'lib/sequent/configuration.rb', line 73

def self.restore(configuration)
  @instance = configuration
end