Sha256: 2f3caddd820d8d1639f606fede6d75fa76b20647ec17140b4956fabed4258490

Contents?: true

Size: 604 Bytes

Versions: 9

Compression:

Stored size: 604 Bytes

Contents

require "pact_broker/config/runtime_configuration"

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

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

    def self.feature_in_env_var?(feature)
      PactBroker.configuration.features[feature.to_s.downcase.to_sym] == true
    end
  end

  def self.feature_enabled?(feature, ignore_env = false)
    FeatureToggle.enabled?(feature, ignore_env)
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pact_broker-2.114.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.113.2 lib/pact_broker/feature_toggle.rb
pact_broker-2.113.1 lib/pact_broker/feature_toggle.rb
pact_broker-2.113.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.112.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.111.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.109.1 lib/pact_broker/feature_toggle.rb
pact_broker-2.109.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.108.0 lib/pact_broker/feature_toggle.rb