module AnyCache::Delegation::ClassMethods
@api private @since 0.3.0
Public Instance Methods
def_loggable_delegator(receiver, delegat)
click to toggle source
@param receiver [Symbol, String] @param delegat [Symbol, String] @return [void]
@api private @since 0.3.0
# File lib/any_cache/delegation.rb, line 36 def def_loggable_delegator(receiver, delegat) # TODO: move to Instrumentation API define_method(delegat) do |*args, **opts, &block| send(receiver).send(delegat, *args, **opts, &block).tap do shared_config[:logger].tap do |logger| AnyCache::Logging::Activity.log( self, logger, activity: delegat, message: "performed <#{delegat}> operation with " \ "attributes: #{args.inspect} and options: #{opts.inspect}." ) if logger end end end end
def_loggable_delegators(receiver, *delegators)
click to toggle source
@param receiver [Symbol, String] @param delegators [Array<Symbol, String>] @return [void]
@api private @since 0.3.0
# File lib/any_cache/delegation.rb, line 26 def def_loggable_delegators(receiver, *delegators) delegators.each { |delegat| def_loggable_delegator(receiver, delegat) } end