Class: TrailGuide::Adapters::Participants::Multi
- Inherits:
-
Object
- Object
- TrailGuide::Adapters::Participants::Multi
- Includes:
- Canfig::Instance
- Defined in:
- lib/trail_guide/adapters/participants/multi.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(&block) ⇒ Multi
constructor
A new instance of Multi.
-
#new(context) ⇒ Object
instance method, creates a new adapter and passes through config.
Constructor Details
#initialize(&block) ⇒ Multi
Returns a new instance of Multi.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/trail_guide/adapters/participants/multi.rb', line 14 def initialize(&block) configure do |config| config.adapter = -> (context) do if context.respond_to?(:current_user, true) && context.send(:current_user).present? TrailGuide::Adapters::Participants::Redis elsif context.respond_to?(:cookies, true) TrailGuide::Adapters::Participants::Cookie elsif context.respond_to?(:session, true) TrailGuide::Adapters::Participants::Session else TrailGuide::Adapters::Participants::Anonymous end end yield(config) if block_given? end end |
Class Method Details
.configure ⇒ Object
8 |
# File 'lib/trail_guide/adapters/participants/multi.rb', line 8 alias_method :configure, :new |
.new(context, &block) ⇒ Object
9 10 11 |
# File 'lib/trail_guide/adapters/participants/multi.rb', line 9 def new(context, &block) configure(&block).new(context) end |
Instance Method Details
#new(context) ⇒ Object
instance method, creates a new adapter and passes through config
33 34 35 36 37 |
# File 'lib/trail_guide/adapters/participants/multi.rb', line 33 def new(context) adapter = configuration.adapter.call(context) adapter = configuration.send(adapter) if adapter.is_a?(Symbol) adapter.new(context) end |