class ThreadSafe::Cache
def fetch(key, default_value = NULL)
def fetch(key, default_value = NULL) if NULL != (value = get_or_default(key, NULL)) value elsif block_given? yield key elsif NULL != default_value default_value else raise KEY_ERROR, 'key not found' end end