class GraphQL::ResultCache::Callback

Public Class Methods

new(obj:, args:, ctx:, value: @obj = obj) click to toggle source
# File lib/graphql/result_cache/callback.rb, line 4
def initialize obj:, args:, ctx:, value:
  @obj = obj
  @args = args
  @ctx = ctx
  @value = value
end

Public Instance Methods

call(result_hash) click to toggle source
# File lib/graphql/result_cache/callback.rb, line 11
def call result_hash
  case @value
    when Symbol
      @obj.public_send(@value, result_hash)
    when Proc
      @value.call(result_hash, @obj, @args, @ctx)
  end
  ::GraphQL::ResultCache.logger && ::GraphQL::ResultCache.logger.debug("GraphQL result cache callback called for #{@ctx.path.join('.')}")
end