class Berater::LimiterSet
Public Class Methods
new()
click to toggle source
# File lib/berater/limiter_set.rb, line 7 def initialize @limiters = {} end
Public Instance Methods
<<(limiter)
click to toggle source
# File lib/berater/limiter_set.rb, line 15 def <<(limiter) key = limiter.key if limiter.respond_to?(:key) send(:[]=, key, limiter) end
[](key)
click to toggle source
# File lib/berater/limiter_set.rb, line 28 def [](key) @limiters[key] end
[]=(key, limiter)
click to toggle source
# File lib/berater/limiter_set.rb, line 20 def []=(key, limiter) unless limiter.is_a? Berater::Limiter raise ArgumentError, "expected Berater::Limiter, found: #{limiter}" end @limiters[key] = limiter end
clear()
click to toggle source
# File lib/berater/limiter_set.rb, line 45 def clear @limiters.clear end
count()
click to toggle source
# File lib/berater/limiter_set.rb, line 49 def count @limiters.count end
delete(key)
click to toggle source
# File lib/berater/limiter_set.rb, line 53 def delete(key) if key.is_a? Berater::Limiter @limiters.delete(key.key) else @limiters.delete(key) end end
Also aliased as: remove
each(&block)
click to toggle source
# File lib/berater/limiter_set.rb, line 11 def each(&block) @limiters.each_value(&block) end
empty?()
click to toggle source
# File lib/berater/limiter_set.rb, line 62 def empty? @limiters.empty? end
fetch(key, val = default = true, &block)
click to toggle source
# File lib/berater/limiter_set.rb, line 32 def fetch(key, val = default = true, &block) args = default ? [ key ] : [ key, val ] @limiters.fetch(*args, &block) end
include?(key)
click to toggle source
# File lib/berater/limiter_set.rb, line 37 def include?(key) if key.is_a? Berater::Limiter @limiters.value?(key) else @limiters.key?(key) end end