Class: Flipper::Gates::PercentageOfTime
- Inherits:
-
Flipper::Gate
- Object
- Flipper::Gate
- Flipper::Gates::PercentageOfTime
- Defined in:
- lib/flipper/gates/percentage_of_time.rb
Instance Method Summary collapse
- #data_type ⇒ Object
- #enabled?(value) ⇒ Boolean
-
#key ⇒ Object
Internal: Name converted to value safe for adapter.
-
#name ⇒ Object
Internal: The name of the gate.
-
#open?(thing, value, options = {}) ⇒ Boolean
Internal: Checks if the gate is open for a thing.
- #protects?(thing) ⇒ Boolean
Methods inherited from Flipper::Gate
Constructor Details
This class inherits a constructor from Flipper::Gate
Instance Method Details
#data_type ⇒ Object
14 15 16 |
# File 'lib/flipper/gates/percentage_of_time.rb', line 14 def data_type :integer end |
#enabled?(value) ⇒ Boolean
18 19 20 |
# File 'lib/flipper/gates/percentage_of_time.rb', line 18 def enabled?(value) value > 0 end |
#key ⇒ Object
Internal: Name converted to value safe for adapter.
10 11 12 |
# File 'lib/flipper/gates/percentage_of_time.rb', line 10 def key :percentage_of_time end |
#name ⇒ Object
Internal: The name of the gate. Used for instrumentation, etc.
5 6 7 |
# File 'lib/flipper/gates/percentage_of_time.rb', line 5 def name :percentage_of_time end |
#open?(thing, value, options = {}) ⇒ Boolean
Internal: Checks if the gate is open for a thing.
Returns true if gate open for thing, false if not.
25 26 27 |
# File 'lib/flipper/gates/percentage_of_time.rb', line 25 def open?(thing, value, = {}) rand < (value / 100.0) end |
#protects?(thing) ⇒ Boolean
29 30 31 |
# File 'lib/flipper/gates/percentage_of_time.rb', line 29 def protects?(thing) thing.is_a?(Flipper::Types::PercentageOfTime) end |