Class: Seams::Configuration

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

Overview

Global Seams configuration. Set via Seams.configure { |c| ... } in config/initializers/seams.rb of the host application.

Examples:

Seams.configure do |c|
  c.host_app_name = "Acme"
  c.event_bus_adapter = "MyApp::Events::SidekiqAdapter"
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize ⇒ Configuration

Returns a new instance of Configuration.



34
35
36
37
38
39
40
# File 'lib/seams/configuration.rb', line 34

def initialize
  @event_bus_adapter = "Seams::Events::Adapters::ActiveSupport"
  @observability_adapter = "Seams::Observability::Adapters::RailsLogger"
  @event_namespace_separator = "."
  @host_app_name = nil
  @permission_grants = Seams::Permissions::DEFAULT_GRANTS
end

Instance Attribute Details

#event_bus_adapter ⇒ String

Returns class name of the event-bus adapter (default "Seams::Events::Adapters::ActiveSupport").

Returns:

  • (String) —

    class name of the event-bus adapter (default "Seams::Events::Adapters::ActiveSupport").



28
29
30
# File 'lib/seams/configuration.rb', line 28

def event_bus_adapter
  @event_bus_adapter
end

#event_namespace_separator ⇒ String

Returns separator between event-name segments (default ".").

Returns:

  • (String) —

    separator between event-name segments (default ".").



28
29
30
31
32
# File 'lib/seams/configuration.rb', line 28

attr_accessor :event_bus_adapter,
:observability_adapter,
:event_namespace_separator,
:host_app_name,
:permission_grants

#host_app_name ⇒ String?

Returns the host application's name, for reporting.

Returns:

  • (String, nil) —

    the host application's name, for reporting.



28
29
30
31
32
# File 'lib/seams/configuration.rb', line 28

attr_accessor :event_bus_adapter,
:observability_adapter,
:event_namespace_separator,
:host_app_name,
:permission_grants

#observability_adapter ⇒ String

Returns class name of the observability adapter (default "Seams::Observability::Adapters::RailsLogger").

Returns:

  • (String) —

    class name of the observability adapter (default "Seams::Observability::Adapters::RailsLogger").



28
29
30
31
32
# File 'lib/seams/configuration.rb', line 28

attr_accessor :event_bus_adapter,
:observability_adapter,
:event_namespace_separator,
:host_app_name,
:permission_grants

#permission_grants ⇒ Hash

Returns the role -> ability grant map (default Permissions::DEFAULT_GRANTS).

Returns:



28
29
30
31
32
# File 'lib/seams/configuration.rb', line 28

attr_accessor :event_bus_adapter,
:observability_adapter,
:event_namespace_separator,
:host_app_name,
:permission_grants