module Flag

Constants

FEATURES
Members
RedisGoneError

Attributes

quiet[RW]
store[RW]

Public Class Methods

enabled() click to toggle source
# File lib/flag.rb, line 139
def enabled
  features.select { |k, v| v.on? }.keys
end
execute() { |store| ... } click to toggle source
# File lib/flag.rb, line 151
def execute
  yield(store)
rescue Errno::ECONNREFUSED, Errno::EINVAL => e
  raise RedisGoneError unless quiet?
end
features() click to toggle source
# File lib/flag.rb, line 171
def features
  @_features ||= Hash.new { |h, k| h[k] = Feature.new(k) }

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

  @_features
end
flush() click to toggle source
# File lib/flag.rb, line 133
def flush
  @_group = nil
  features.each { |_, f| f.reset }
  self.execute { |store| store.call("DEL", FEATURES) }
end
group() click to toggle source
# File lib/flag.rb, line 161
def group
  @_group ||= Hash.new do |h, k|
    h[k] = lambda { |id| }
  end
end
groups() click to toggle source
# File lib/flag.rb, line 167
def groups
  group.keys
end
quiet!() click to toggle source
# File lib/flag.rb, line 143
def quiet!
  @quiet = true
end
quiet?() click to toggle source
# File lib/flag.rb, line 147
def quiet?
  @quiet == true
end