Module: Flag
Defined Under Namespace
Classes: Feature, Members
Constant Summary
collapse
- FEATURES =
"_flag:features".freeze
- RedisGoneError =
StandardError
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.quiet ⇒ Object
Returns the value of attribute quiet.
131
132
133
|
# File 'lib/flag.rb', line 131
def quiet
@quiet
end
|
.store ⇒ Object
Returns the value of attribute store.
131
132
133
|
# File 'lib/flag.rb', line 131
def store
@store
end
|
Class Method Details
.enabled ⇒ Object
139
140
141
|
# File 'lib/flag.rb', line 139
def enabled
features.select { |k, v| v.on? }.keys
end
|
.execute ⇒ Object
151
152
153
154
155
|
# File 'lib/flag.rb', line 151
def execute
yield(store)
rescue Errno::ECONNREFUSED, Errno::EINVAL => e
raise RedisGoneError unless quiet?
end
|
.features ⇒ Object
171
172
173
174
175
176
177
178
179
|
# 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 ⇒ Object
133
134
135
136
137
|
# File 'lib/flag.rb', line 133
def flush
@_group = nil
features.each { |_, f| f.reset }
self.execute { |store| store.call("DEL", FEATURES) }
end
|
.group ⇒ Object
161
162
163
164
165
|
# File 'lib/flag.rb', line 161
def group
@_group ||= Hash.new do |h, k|
h[k] = lambda { |id| }
end
end
|
.groups ⇒ Object
167
168
169
|
# File 'lib/flag.rb', line 167
def groups
group.keys
end
|
.quiet! ⇒ Object
143
144
145
|
# File 'lib/flag.rb', line 143
def quiet!
@quiet = true
end
|
.quiet? ⇒ Boolean
147
148
149
|
# File 'lib/flag.rb', line 147
def quiet?
@quiet == true
end
|