Module: Flagship
- Defined in:
- lib/flagship.rb,
lib/flagship/version.rb
Defined Under Namespace
Classes: Context, Dsl, Feature, Flagset, FlagsetsContainer, NoFlagsetSelectedError
Constant Summary
collapse
- VERSION =
"0.2.0"
Class Method Summary
collapse
Class Method Details
.clear_state ⇒ Object
55
56
57
58
|
# File 'lib/flagship.rb', line 55
def self.clear_state
@@default_flagsts_container = nil
@@current_flagset = nil
end
|
.current_flagset ⇒ Object
47
48
49
|
# File 'lib/flagship.rb', line 47
def self.current_flagset
@@current_flagset or raise NoFlagsetSelectedError.new('No flagset is selected')
end
|
.default_context ⇒ Object
51
52
53
|
# File 'lib/flagship.rb', line 51
def self.default_context
@@default_context ||= ::Flagship::Context.new
end
|
.default_flagsets_container ⇒ Object
43
44
45
|
# File 'lib/flagship.rb', line 43
def self.default_flagsets_container
@@default_flagsts_container ||= ::Flagship::FlagsetsContainer.new
end
|
.define(key, options = {}, &block) ⇒ Object
11
12
13
14
15
|
# File 'lib/flagship.rb', line 11
def self.define(key, options = {}, &block)
context = self.default_context
base = options[:extend] ? self.get_flagset(options[:extend]) : nil
self.default_flagsets_container.add ::Flagship::Dsl.new(key, context, base, &block).flagset
end
|
.enabled?(key) ⇒ Boolean
17
18
19
|
# File 'lib/flagship.rb', line 17
def self.enabled?(key)
self.current_flagset.enabled?(key)
end
|
.features ⇒ Object
35
36
37
|
# File 'lib/flagship.rb', line 35
def self.features
self.current_flagset.features
end
|
.get_flagset(key) ⇒ Object
39
40
41
|
# File 'lib/flagship.rb', line 39
def self.get_flagset(key)
self.default_flagsets_container.get(key)
end
|
.select_flagset(key) ⇒ Object
25
26
27
|
# File 'lib/flagship.rb', line 25
def self.select_flagset(key)
@@current_flagset = self.default_flagsets_container.get(key)
end
|
.set_context(key, value) ⇒ Object
21
22
23
|
# File 'lib/flagship.rb', line 21
def self.set_context(key, value)
self.default_context.__set(key, value)
end
|
.set_flagset(key) ⇒ Object
Deprecated: Use select_flagset
30
31
32
33
|
# File 'lib/flagship.rb', line 30
def self.set_flagset(key)
warn "[DEPRECATION] `set_flagset` is deprecated. Please use `select_flagset` instead."
self.select_flagset(key)
end
|