Module: Flagship
- Defined in:
- lib/flagship.rb,
lib/flagship/version.rb
Defined Under Namespace
Classes: Context, Dsl, Flagset, FlagsetsContainer, NoFlagsetSelectedError
Constant Summary
collapse
- VERSION =
"0.1.0"
Class Method Summary
collapse
Class Method Details
.clear_state ⇒ Object
44
45
46
47
|
# File 'lib/flagship.rb', line 44
def self.clear_state
@@default_flagsts_container = nil
@@current_flagset = nil
end
|
.current_flagset ⇒ Object
36
37
38
|
# File 'lib/flagship.rb', line 36
def self.current_flagset
@@current_flagset or raise NoFlagsetSelectedError.new('No flagset is selected')
end
|
.default_context ⇒ Object
40
41
42
|
# File 'lib/flagship.rb', line 40
def self.default_context
@@default_context ||= ::Flagship::Context.new
end
|
.default_flagsets_container ⇒ Object
32
33
34
|
# File 'lib/flagship.rb', line 32
def self.default_flagsets_container
@@default_flagsts_container ||= ::Flagship::FlagsetsContainer.new
end
|
.define(key, options = {}, &block) ⇒ Object
10
11
12
13
14
|
# File 'lib/flagship.rb', line 10
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
16
17
18
|
# File 'lib/flagship.rb', line 16
def self.enabled?(key)
self.current_flagset.enabled?(key)
end
|
.get_flagset(key) ⇒ Object
28
29
30
|
# File 'lib/flagship.rb', line 28
def self.get_flagset(key)
self.default_flagsets_container.get(key)
end
|
.set_context(key, value) ⇒ Object
20
21
22
|
# File 'lib/flagship.rb', line 20
def self.set_context(key, value)
self.default_context.__set(key, value)
end
|
.set_flagset(key) ⇒ Object
24
25
26
|
# File 'lib/flagship.rb', line 24
def self.set_flagset(key)
@@current_flagset = self.default_flagsets_container.get(key)
end
|