class QueryBuilderContext

Attributes

current_proc[R]
grouping[R]

Public Class Methods

new(groupings = [], current_proc = nil) click to toggle source
# File lib/graphql/groups/query_builder_context.rb, line 7
def initialize(groupings = [], current_proc = nil)
  @grouping = groupings
  @current_proc = current_proc
end

Public Instance Methods

combine_procs(base_proc, new_proc) click to toggle source
# File lib/graphql/groups/query_builder_context.rb, line 18
def combine_procs(base_proc, new_proc)
  proc { new_proc.call(base_proc.call) }
end
update(grouping, new_proc) click to toggle source
# File lib/graphql/groups/query_builder_context.rb, line 12
def update(grouping, new_proc)
  new_grouping = @grouping + [grouping]
  combined_proc = combine_procs(@current_proc, new_proc)
  QueryBuilderContext.new(new_grouping, combined_proc)
end