Module: EightBall
- Defined in:
- lib/eight_ball.rb,
lib/eight_ball/feature.rb,
lib/eight_ball/version.rb
Overview
For all your feature querying needs.
Defined Under Namespace
Modules: Conditions, Parsers, Providers Classes: Feature
Constant Summary collapse
- VERSION =
'1.0.0'
Class Method Summary collapse
-
.disabled?(name, parameters = {}) ⇒ Boolean, true
“EightBall, is the feature named ‘NewFeature’ disabled?”.
-
.enabled?(name, parameters = {}) ⇒ Boolean, false
“EightBall, is the feature named ‘NewFeature’ enabled?”.
- .logger ⇒ Object
- .logger=(logger) ⇒ Object
- .provider=(provider) ⇒ nil
-
.with(name, parameters = {}) ⇒ nil, false
Yields to the given block of code if the Feature is enabled.
Class Method Details
.disabled?(name, parameters = {}) ⇒ Boolean, true
“EightBall, is the feature named ‘NewFeature’ disabled?”
65 66 67 |
# File 'lib/eight_ball.rb', line 65 def self.disabled?(name, parameters = {}) !enabled? name, parameters end |
.enabled?(name, parameters = {}) ⇒ Boolean, false
“EightBall, is the feature named ‘NewFeature’ enabled?”
47 48 49 50 51 52 |
# File 'lib/eight_ball.rb', line 47 def self.enabled?(name, parameters = {}) feature = @provider.features.find { |f| f.name == name } return false unless feature feature.enabled? parameters end |
.logger ⇒ Object
88 89 90 91 92 |
# File 'lib/eight_ball.rb', line 88 def self.logger @logger ||= Logger.new(STDOUT).tap do |log| log.progname = self.name end end |
.logger=(logger) ⇒ Object
94 95 96 |
# File 'lib/eight_ball.rb', line 94 def self.logger=(logger) @logger = logger end |
.provider=(provider) ⇒ nil
32 33 34 |
# File 'lib/eight_ball.rb', line 32 def self.provider=(provider) @provider = provider end |
.with(name, parameters = {}) ⇒ nil, false
Yields to the given block of code if the Feature is enabled.
82 83 84 85 86 |
# File 'lib/eight_ball.rb', line 82 def self.with(name, parameters = {}) return false unless block_given? yield if enabled? name, parameters end |