Module: Flagship
- Defined in:
- lib/flagship.rb,
lib/flagship/version.rb
Defined Under Namespace
Classes: Context, Dsl, Feature, Features, Flagset, FlagsetsContainer, NoFlagsetSelectedError
Constant Summary
collapse
- VERSION =
"0.5.0"
Class Method Summary
collapse
Class Method Details
.clear_state ⇒ Object
51
52
53
54
|
# File 'lib/flagship.rb', line 51
def clear_state
@default_flagsts_container = nil
@current_flagset = nil
end
|
.current_flagset ⇒ Object
43
44
45
|
# File 'lib/flagship.rb', line 43
def current_flagset
@current_flagset or raise NoFlagsetSelectedError.new('No flagset is selected')
end
|
.default_context ⇒ Object
47
48
49
|
# File 'lib/flagship.rb', line 47
def default_context
@default_context ||= ::Flagship::Context.new
end
|
.default_flagsets_container ⇒ Object
39
40
41
|
# File 'lib/flagship.rb', line 39
def default_flagsets_container
@default_flagsts_container ||= ::Flagship::FlagsetsContainer.new
end
|
.define(key, options = {}, &block) ⇒ Object
13
14
15
16
17
|
# File 'lib/flagship.rb', line 13
def define(key, options = {}, &block)
context = self.default_context
base = options[:extend] ? self.get_flagset(options[:extend]) : nil
default_flagsets_container.add ::Flagship::Dsl.new(key, context, base, &block).flagset
end
|
.enabled?(key) ⇒ Boolean
19
20
21
|
# File 'lib/flagship.rb', line 19
def enabled?(key)
current_flagset.enabled?(key)
end
|
.features ⇒ Object
31
32
33
|
# File 'lib/flagship.rb', line 31
def features
current_flagset.features
end
|
.get_flagset(key) ⇒ Object
35
36
37
|
# File 'lib/flagship.rb', line 35
def get_flagset(key)
default_flagsets_container.get(key)
end
|
.select_flagset(key) ⇒ Object
27
28
29
|
# File 'lib/flagship.rb', line 27
def select_flagset(key)
@current_flagset = default_flagsets_container.get(key)
end
|
.set_context(key, value) ⇒ Object
23
24
25
|
# File 'lib/flagship.rb', line 23
def set_context(key, value)
default_context.__set(key, value)
end
|