Class: TrailGuide::Adapters::Participants::Multi
- Defined in:
- lib/trail_guide/adapters/participants/multi.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize(&block) ⇒ Multi
constructor
A new instance of Multi.
- #new(context) ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(&block) ⇒ Multi
Returns a new instance of Multi.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/trail_guide/adapters/participants/multi.rb', line 6 def initialize(&block) configure do |config| config.adapter = -> (context) do if (context.respond_to?(:trailguide_user, true) && context.send(:trailguide_user).present?) || (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 |
Instance Method Details
#new(context) ⇒ Object
25 26 27 28 29 |
# File 'lib/trail_guide/adapters/participants/multi.rb', line 25 def new(context) adapter = configuration.adapter.call(context) adapter = configuration.send(adapter) if adapter.is_a?(Symbol) adapter.new(context) end |