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



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

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

#domain_modulesObject



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

def domain_modules
  @domain_modules || []
end

#domain_modules=(modules) ⇒ Object



45
46
47
48
49
50
51
# File 'lib/tcb/configuration.rb', line 45

def domain_modules=(modules)
  @domain_modules = modules
  flush_domain_modules
  flush_command_handlers
  flush_persist_registrations
  flush_outbox_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_bus_configured?Boolean

Returns:

  • (Boolean)


78
79
80
# File 'lib/tcb/configuration.rb', line 78

def event_bus_configured?
  !!@event_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



66
67
68
# File 'lib/tcb/configuration.rb', line 66

def extra_serialization_classes
  @extra_serialization_classes || []
end

#extra_serialization_classes=(classes) ⇒ Object



62
63
64
# File 'lib/tcb/configuration.rb', line 62

def extra_serialization_classes=(classes)
  @extra_serialization_classes = classes
end

#outbox_registrationsObject



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

def outbox_registrations
  @outbox_registrations ||= []
end

#outbox_store_classObject



37
38
39
# File 'lib/tcb/configuration.rb', line 37

def outbox_store_class
  @outbox_store_class
end

#outbox_store_class=(store) ⇒ Object



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

def outbox_store_class=(store)
  @outbox_store_class = store
end

#permitted_serialization_classesObject



70
71
72
73
74
75
76
# File 'lib/tcb/configuration.rb', line 70

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