# File lib/cache_manager.rb, line 47
  def initialize(opt={}, &block)
    raise RuntimeError, "block required" unless block
    @block = block
    @cache = {}
    opt.each do |k,v|
      case k
      when :expire then @expire = opt[:expire]
      when :limit then @limit = opt[:limit]
      else
        raise ArgumentError, "invalid key: #{k.inspect}"
      end
    end
  end