Sha256: 66ddbe588e75c8ed472778cbc21a29991d8ad4861f1b7190d36664814e382bb1

Contents?: true

Size: 968 Bytes

Versions: 2

Compression:

Stored size: 968 Bytes

Contents

module Chanko
  module Test
    class << self
      def activations
        @activations ||= {}
      end

      def included(base)
        base.send :include, UnitProxyProvider
      end
    end

    def enable_unit(unit_name)
      Test.activations[unit_name] = true
    end
    alias_method :enable_ext, :enable_unit

    def disable_unit(unit_name)
      Test.activations[unit_name] = false
    end
    alias_method :disable_ext, :disable_unit
  end

  module Unit
    module ClassMethods
      def active_with_activations?(*args)
        case Test.activations[unit_name]
        when true
          true
        when false
          false
        else
          active_without_activations?(*args)
        end
      end
      alias_method :active_without_activations?, :active?
      alias_method :active?, :active_with_activations?
    end
  end
end

RSpec.configure do |config|
  config.include Chanko::Test
  config.after { Chanko::Test.activations.clear }
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
chanko-2.2.1 lib/chanko/test.rb
chanko-2.2.0 lib/chanko/test.rb