Sha256: 84d6b20bbac806b132938d5699f9ddeced5088839f8fd6924efe17d59f8f8f8a

Contents?: true

Size: 376 Bytes

Versions: 1

Compression:

Stored size: 376 Bytes

Contents

require "arkency/feature_toggle/version"

module Arkency
  class FeatureToggle
    def initialize
      @flags = Hash.new
    end

    def with(name, *args, &block)
      block.call if on?(name, *args)
    end

    def on?(name, *args)
      @flags.fetch(name, proc{|*_args| false }).call(*args)
    end

    def for(name, &block)
      @flags[name] = block
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
arkency-feature_toggle-0.1.0 lib/arkency/feature_toggle.rb