Class: TCB::Configuration

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

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



5
6
7
# File 'lib/tcb/configuration.rb', line 5

def initialize
  @persist_registrations = []
end

Instance Method Details

#command_handler(command_class) ⇒ Object



44
45
46
47
# File 'lib/tcb/configuration.rb', line 44

def command_handler(command_class)
  @command_handlers ||= {}
  @command_handlers[command_class]
end

#domain_modulesObject



40
41
42
# File 'lib/tcb/configuration.rb', line 40

def domain_modules
  @domain_modules || []
end

#domain_modules=(modules) ⇒ Object



33
34
35
36
37
38
# File 'lib/tcb/configuration.rb', line 33

def domain_modules=(modules)
  @domain_modules = modules
  flush_domain_modules
  flush_command_handlers
  flush_persist_registrations
end

#event_busObject



17
18
19
20
21
22
23
# File 'lib/tcb/configuration.rb', line 17

def event_bus
  @event_bus ||
    raise(
      ConfigurationError,
      "TCB event_bus is not configured. Call TCB.configure { |c| c.event_bus = TCB::EventBus.new }"
    )
end

#event_bus=(bus) ⇒ Object



13
14
15
# File 'lib/tcb/configuration.rb', line 13

def event_bus=(bus)
  @event_bus = bus
end

#event_storeObject



29
30
31
# File 'lib/tcb/configuration.rb', line 29

def event_store
  @event_store
end

#event_store=(store) ⇒ Object



25
26
27
# File 'lib/tcb/configuration.rb', line 25

def event_store=(store)
  @event_store = store
end

#extra_serialization_classesObject



53
54
55
# File 'lib/tcb/configuration.rb', line 53

def extra_serialization_classes
  @extra_serialization_classes || []
end

#extra_serialization_classes=(classes) ⇒ Object



49
50
51
# File 'lib/tcb/configuration.rb', line 49

def extra_serialization_classes=(classes)
  @extra_serialization_classes = classes
end

#permitted_serialization_classesObject



57
58
59
60
61
62
63
# File 'lib/tcb/configuration.rb', line 57

def permitted_serialization_classes
  @permitted_serialization_classes ||= [
    Symbol, Time, Date, BigDecimal,
    *persist_registrations.flat_map(&:event_classes),
    *extra_serialization_classes
  ]
end

#persist_registrationsObject



9
10
11
# File 'lib/tcb/configuration.rb', line 9

def persist_registrations
  @persist_registrations
end