class ReeLogger::RateLimiter

def call(&block)

def call(&block)
  tick = Time.now.to_i
  @appends.push(tick)
  min = tick - @interval
  loop do
    if @appends.first < min
      @appends.shift
    else
      break
    end
  end
  if @appends.size < @max_rate
    block.call
  end
end

def initialize(interval, max_rate)

def initialize(interval, max_rate)
  @max_rate = max_rate
  @interval = interval
  @appends = []
end