Sha256: 8449bc5734420dc27300b61f8c3c67d44198cc639b93c7622a820f068e9cfb30

Contents?: true

Size: 938 Bytes

Versions: 2

Compression:

Stored size: 938 Bytes

Contents

# frozen_string_literal: true

class BCDD::Result
  class Config
    module Features
      OPTIONS = {
        expectations: {
          default: true,
          affects: %w[BCDD::Result::Expectations BCDD::Result::Context::Expectations]
        },
        transitions: {
          default: true,
          affects: %w[BCDD::Result BCDD::Result::Context BCDD::Result::Expectations BCDD::Result::Context::Expectations]
        },
        and_then!: {
          default: false,
          affects: %w[BCDD::Result BCDD::Result::Context BCDD::Result::Expectations BCDD::Result::Context::Expectations]
        }
      }.transform_values!(&:freeze).freeze

      Listener = ->(option_name, _bool) do
        Thread.current[Transitions::THREAD_VAR_NAME] = nil if option_name == :transitions
      end

      def self.switcher
        Switcher.new(options: OPTIONS, listener: Listener)
      end
    end

    private_constant :Features
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bcdd-result-0.13.0 lib/bcdd/result/config/switchers/features.rb
bcdd-result-0.12.0 lib/bcdd/result/config/switchers/features.rb