Sha256: e729e8d126e68e84f400b70ae5e8706039fd35c0bcd7256a88e68cb3cd04463c
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
require 'forwardable' module Flipper # Internal: Used by gate to toggle values (true/false, add/delete from set, etc.). # Named poorly maybe, but haven't come up with a better name yet. class Toggle extend Forwardable attr_reader :gate def_delegators :@gate, :adapter_key, :feature, :adapter def initialize(gate) @gate = gate end # Internal: Enables thing for gate and adds feature to known features. # # Returns Boolean (currently always true). def enable(thing) add_feature_to_set end # Internal: Disables thing for gate and adds feature to known features. # # Returns Boolean (currently always true). def disable(thing) add_feature_to_set end def value raise 'Not implemented' end # Public: Pretty string version for debugging. def inspect attributes = [ "gate=#{gate.inspect}", "value=#{value}", ] "#<#{self.class.name}:#{object_id} #{attributes.join(', ')}>" end private def add_feature_to_set adapter.feature_add adapter_key.feature_name end end end require 'flipper/toggles/boolean' require 'flipper/toggles/set' require 'flipper/toggles/value'
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
flipper-0.4.0 | lib/flipper/toggle.rb |