def fetch(query, &block)
      strategy = query && ordered_strategies.detect { |strategy| strategy.cacheable?(query) }
      strategy ? strategy.fetch(query) : yield
    end
def fetch(query, &block)
      strategy = query && ordered_strategies.detect { |strategy| strategy.cacheable?(query) }
      strategy ? strategy.fetch(query) : yield
    end
retrieve the record(s) based on the given query (check with cacheable?(query) first)