module MultiJson::OptionsCache

def fetch(type, key, &block)

def fetch(type, key, &block)
  cache = instance_variable_get("@#{type}_cache")
  cache.key?(key) ? cache[key] : write(cache, key, &block)
end

def reset

def reset
  @dump_cache = {}
  @load_cache = {}
end

def write(cache, key)

def write(cache, key)
  cache.clear if cache.length >= MAX_CACHE_SIZE
  cache[key] = yield
end