Sha256: d72f89575825c7d921050609f07ceab13fc908d954178d209f2f5d74be64a9fb
Contents?: true
Size: 805 Bytes
Versions: 1
Compression:
Stored size: 805 Bytes
Contents
# frozen_string_literal: true module ConvenientService module Common module Plugins module CachesReturnValue class Middleware < Core::MethodChainMiddleware ## # @param args [Array<Object>] # @param kwargs [Hash{Symbol => Object}] # @param block [Proc, nil] # @return [Object] Can be any type. # def next(*args, **kwargs, &block) key = cache.keygen(:return_values, method, *args, **kwargs, &block) cache.fetch(key) { chain.next(*args, **kwargs, &block) } end private ## # @return [ConvenientService::Support::Cache] # def cache @cache ||= entity.internals.cache end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
convenient_service-0.12.0 | lib/convenient_service/common/plugins/caches_return_value/middleware.rb |