class GraphQL::ResultCache::Result

Attributes

value[R]

Public Class Methods

new(query_result) click to toggle source
# File lib/graphql/result_cache/result.rb, line 10
def initialize query_result
  @_result = query_result
  @value = process_with_result_cache
end

Private Instance Methods

blank?(obj) click to toggle source
# File lib/graphql/result_cache/result.rb, line 27
def blank? obj
  obj.respond_to?(:empty?) ? !!obj.empty? : !obj
end
process_each(result) click to toggle source
# File lib/graphql/result_cache/result.rb, line 22
def process_each result
  result_cache_config = result.query.context[:result_cache]
  blank?(result_cache_config) ? result : result_cache_config.process(result)
end
process_with_result_cache() click to toggle source
# File lib/graphql/result_cache/result.rb, line 17
def process_with_result_cache
  return process_each(@_result) unless @_result.is_a?(Array)
  @_result.map { |result| process_each(result) }
end