Module: Flag

Defined in:
lib/flag.rb

Defined Under Namespace

Classes: Feature, Members

Constant Summary collapse

FEATURES =
"_flag:features".freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.storeObject

Returns the value of attribute store.



106
107
108
# File 'lib/flag.rb', line 106

def store
  @store
end

Class Method Details

.enabledObject



114
115
116
# File 'lib/flag.rb', line 114

def enabled
  features.select { |k, v| v.on? }.keys
end

.featuresObject



123
124
125
126
127
128
129
# File 'lib/flag.rb', line 123

def features
  @_features ||= Hash.new { |h, k| h[k] = Feature.new(k) }

  self.store.call("HKEYS", FEATURES).each { |k| @_features[k.to_sym] }

  @_features
end

.flushObject



108
109
110
111
112
# File 'lib/flag.rb', line 108

def flush
  @_group = nil
  features.each { |_, f| f.reset }
  self.store.call("DEL", FEATURES)
end

.groupObject



119
# File 'lib/flag.rb', line 119

def group; @_group ||= Hash.new { |h, k| h[k] = lambda { |id| } } end

.groupsObject



121
# File 'lib/flag.rb', line 121

def groups; group.keys end