Class: Flipflop::Strategies::SessionStrategy
Instance Attribute Summary
#description, #key, #name, #title
Class Method Summary
collapse
Instance Method Summary
collapse
default_name, #hidden?, #reset!
Constructor Details
Returns a new instance of SessionStrategy.
10
11
12
13
|
# File 'lib/flipflop/strategies/session_strategy.rb', line 10
def initialize(**options)
@prefix = options.delete(:prefix).to_s.freeze
super(**options)
end
|
Class Method Details
.default_description ⇒ Object
5
6
7
|
# File 'lib/flipflop/strategies/session_strategy.rb', line 5
def default_description
"Stores features in the user session. Applies to current user."
end
|
Instance Method Details
#clear!(feature) ⇒ Object
29
30
31
|
# File 'lib/flipflop/strategies/session_strategy.rb', line 29
def clear!(feature)
request.session.delete(variable_key(feature))
end
|
#enabled?(feature) ⇒ Boolean
19
20
21
22
23
|
# 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) ⇒ Object
25
26
27
|
# File 'lib/flipflop/strategies/session_strategy.rb', line 25
def switch!(feature, enabled)
request.session[variable_key(feature)] = enabled
end
|
#switchable? ⇒ Boolean
15
16
17
|
# File 'lib/flipflop/strategies/session_strategy.rb', line 15
def switchable?
request?
end
|