class EventRouter::Configuration
Attributes
delivery_adapter[R]
delivery_adapters[R]
serializer_adapter[R]
serializer_adapters[R]
Public Class Methods
new()
click to toggle source
# File lib/event_router/configuration.rb, line 10 def initialize @delivery_adapters = {} @serializer_adapters = {} register_delivery_adapter(:sync) @delivery_adapter = :sync register_serializer_adapter(:json) @serializer_adapter = :json end
Public Instance Methods
delivery_adapter=(adapter, _opts = {})
click to toggle source
# File lib/event_router/configuration.rb, line 21 def delivery_adapter=(adapter, _opts = {}) validate_inclusion!(:delivery_adapter, adapter, @delivery_adapters) @delivery_adapter = adapter end
delivery_adapter_class(adapter)
click to toggle source
# File lib/event_router/configuration.rb, line 27 def delivery_adapter_class(adapter) @delivery_adapters[adapter] end
register_delivery_adapter(adapter, opts = {})
click to toggle source
# File lib/event_router/configuration.rb, line 31 def register_delivery_adapter(adapter, opts = {}) adapter_class = load_adapter_class(Publisher::ADAPTERS, adapter) || opts[:adapter_class] adapter_class.options = opts @delivery_adapters[adapter] = adapter_class end
register_serializer_adapter(adapter, opts = {})
click to toggle source
# File lib/event_router/configuration.rb, line 48 def register_serializer_adapter(adapter, opts = {}) adapter_class = load_adapter_class(Serializer::ADAPTERS, adapter) || opts[:adapter_class] @serializer_adapters[adapter] = adapter_class end
serializer_adapter=(adapter)
click to toggle source
# File lib/event_router/configuration.rb, line 38 def serializer_adapter=(adapter) validate_inclusion!(:serializer_adapter, adapter, @serializer_adapters) @serializer_adapter = adapter end
serializer_adapter_class(adapter)
click to toggle source
# File lib/event_router/configuration.rb, line 44 def serializer_adapter_class(adapter) @serializer_adapters[adapter] end
Private Instance Methods
load_adapter_class(adapters, adapter)
click to toggle source
# File lib/event_router/configuration.rb, line 56 def load_adapter_class(adapters, adapter) return nil unless adapters.key?(adapter) require_relative adapters[adapter][:path] Kernel.const_get(adapters[adapter][:adapter_class]) end
validate_inclusion!(config, option, supported_options)
click to toggle source
# File lib/event_router/configuration.rb, line 63 def validate_inclusion!(config, option, supported_options) return if supported_options.include?(option) raise Errors::UnsupportedOptionError.new( config: config, option: option, supported_options: supported_options.keys ) end