class Flipflop::Strategies::SessionStrategy
Public Class Methods
default_description()
click to toggle source
# File lib/flipflop/strategies/session_strategy.rb, line 5 def default_description "Stores features in the user session. Applies to current user." end
new(**options)
click to toggle source
Calls superclass method
Flipflop::Strategies::AbstractStrategy::new
# File lib/flipflop/strategies/session_strategy.rb, line 10 def initialize(**options) @prefix = options.delete(:prefix).to_s.freeze super(**options) end
Public Instance Methods
clear!(feature)
click to toggle source
# File lib/flipflop/strategies/session_strategy.rb, line 29 def clear!(feature) request.session.delete(variable_key(feature)) end
enabled?(feature)
click to toggle source
# File lib/flipflop/strategies/session_strategy.rb, line 19 def enabled?(feature) return unless request? return unless request.session.has_key?(variable_key(feature)) request.session[variable_key(feature)] == true end
switch!(feature, enabled)
click to toggle source
# File lib/flipflop/strategies/session_strategy.rb, line 25 def switch!(feature, enabled) request.session[variable_key(feature)] = enabled end
switchable?()
click to toggle source
# File lib/flipflop/strategies/session_strategy.rb, line 15 def switchable? request? end
Protected Instance Methods
variable_key(feature)
click to toggle source
# File lib/flipflop/strategies/session_strategy.rb, line 35 def variable_key(feature) @prefix + feature.to_s end