class EventStore::HTTP::Session::Factory
Constants
- UnknownType
Attributes
type[W]
Public Class Methods
build(settings=nil, namespace: nil, type: nil)
click to toggle source
# File lib/event_store/http/session/factory.rb, line 15 def self.build(settings=nil, namespace: nil, type: nil) settings ||= Settings.instance namespace = Array(namespace) instance = new settings, namespace instance.type = type unless type.nil? instance end
call(settings=nil, **arguments)
click to toggle source
# File lib/event_store/http/session/factory.rb, line 24 def self.call(settings=nil, **arguments) instance = build settings, **arguments instance.() end
types()
click to toggle source
# File lib/event_store/http/session/factory.rb, line 63 def self.types @types ||= { :any_member => AnyMember, :leader => Leader } end
Public Instance Methods
call()
click to toggle source
# File lib/event_store/http/session/factory.rb, line 29 def call logger.trace { "Constructing Session (Type: #{type.inspect})" } cls = resolve_class instance = cls.new settings.set instance, namespace Retry.configure instance, settings, namespace: namespace Log::Data.configure instance, Session, attr_name: :data_logger connect = Connect.configure instance, settings, namespace: namespace instance.configure logger.debug { "Session constructed (Type: #{type.inspect}, Class: #{instance.class})" } instance end
get_type()
click to toggle source
# File lib/event_store/http/session/factory.rb, line 49 def get_type type = settings.get :type, namespace type ||= Defaults.type type.to_sym end
resolve_class()
click to toggle source
# File lib/event_store/http/session/factory.rb, line 55 def resolve_class self.class.types.fetch type do error_message = "Unknown session type (Type: #{type.inspect}, KnownTypes: #{self.class.types.keys.inspect})" logger.error { error_message } raise UnknownType, error_message end end
type()
click to toggle source
# File lib/event_store/http/session/factory.rb, line 11 def type @type ||= get_type end