Class: PactBroker::FeatureToggle

Inherits:
Object
  • Object
show all
Defined in:
lib/pact_broker/feature_toggle.rb

Class Method Summary collapse

Class Method Details

.enabled?(feature, ignore_env) ⇒ Boolean

Returns:

  • (Boolean)


3
4
5
6
7
8
9
# File 'lib/pact_broker/feature_toggle.rb', line 3

def self.enabled?(feature, ignore_env)
  if ignore_env
    feature_in_env_var?(feature)
  else
    not_production? || feature_in_env_var?(feature)
  end
end

.feature_in_env_var?(feature) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/pact_broker/feature_toggle.rb', line 15

def self.feature_in_env_var?(feature)
  (features =~ /\b#{feature}\b/i) != nil
end

.featuresObject



19
20
21
# File 'lib/pact_broker/feature_toggle.rb', line 19

def self.features
  ENV['PACT_BROKER_FEATURES'] || ""
end

.not_production?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/pact_broker/feature_toggle.rb', line 11

def self.not_production?
  ENV['RACK_ENV'] != 'production'
end