Class: Flipper::DSL
- Inherits:
-
Object
- Object
- Flipper::DSL
- Defined in:
- lib/flipper/dsl.rb
Instance Method Summary collapse
- #actor(actor_or_number) ⇒ Object
- #actors(number) ⇒ Object
- #disable(name, *args) ⇒ Object
- #disabled?(name, *args) ⇒ Boolean
- #enable(name, *args) ⇒ Object
- #enabled?(name, *args) ⇒ Boolean
- #feature(name) ⇒ Object (also: #[])
- #group(name) ⇒ Object
-
#initialize(adapter) ⇒ DSL
constructor
A new instance of DSL.
- #random(number) ⇒ Object
Constructor Details
#initialize(adapter) ⇒ DSL
Returns a new instance of DSL.
3 4 5 |
# File 'lib/flipper/dsl.rb', line 3 def initialize(adapter) @adapter = adapter end |
Instance Method Details
#actor(actor_or_number) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/flipper/dsl.rb', line 33 def actor(actor_or_number) raise ArgumentError, "actor cannot be nil" if actor_or_number.nil? identifier = if actor_or_number.respond_to?(:identifier) actor_or_number.identifier elsif actor_or_number.respond_to?(:id) actor_or_number.id else actor_or_number end Flipper::Types::Actor.new(identifier) end |
#actors(number) ⇒ Object
51 52 53 |
# File 'lib/flipper/dsl.rb', line 51 def actors(number) Flipper::Types::PercentageOfActors.new(number) end |
#disable(name, *args) ⇒ Object
19 20 21 |
# File 'lib/flipper/dsl.rb', line 19 def disable(name, *args) feature(name).disable(*args) end |
#disabled?(name, *args) ⇒ Boolean
11 12 13 |
# File 'lib/flipper/dsl.rb', line 11 def disabled?(name, *args) !enabled?(name, *args) end |
#enable(name, *args) ⇒ Object
15 16 17 |
# File 'lib/flipper/dsl.rb', line 15 def enable(name, *args) feature(name).enable(*args) end |
#enabled?(name, *args) ⇒ Boolean
7 8 9 |
# File 'lib/flipper/dsl.rb', line 7 def enabled?(name, *args) feature(name).enabled?(*args) end |
#feature(name) ⇒ Object Also known as: []
23 24 25 |
# File 'lib/flipper/dsl.rb', line 23 def feature(name) features[name.to_sym] ||= Flipper::Feature.new(name, @adapter) end |
#group(name) ⇒ Object
29 30 31 |
# File 'lib/flipper/dsl.rb', line 29 def group(name) Flipper.group(name) end |
#random(number) ⇒ Object
47 48 49 |
# File 'lib/flipper/dsl.rb', line 47 def random(number) Flipper::Types::PercentageOfRandom.new(number) end |