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
remove(key)
Alias for: delete