Sha256: bd53917b879c35d8be8190eb3f211d24c20c01610e8665a40104dca676f4783e

Contents?: true

Size: 590 Bytes

Versions: 20

Compression:

Stored size: 590 Bytes

Contents

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)
      (features =~ /\b#{feature}\b/i) != nil
    end

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

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

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
pact_broker-2.79.1 lib/pact_broker/feature_toggle.rb
pact_broker-2.79.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.78.1 lib/pact_broker/feature_toggle.rb
pact_broker-2.78.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.77.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.76.2 lib/pact_broker/feature_toggle.rb
pact_broker-2.76.1 lib/pact_broker/feature_toggle.rb
pact_broker-2.76.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.75.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.74.1 lib/pact_broker/feature_toggle.rb
pact_broker-2.74.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.73.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.72.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.71.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.70.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.69.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.68.1 lib/pact_broker/feature_toggle.rb
pact_broker-2.68.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.67.0 lib/pact_broker/feature_toggle.rb
pact_broker-2.66.0 lib/pact_broker/feature_toggle.rb