class GraphQL::Filter

@api private

Public Class Methods

new(only: nil, except: nil) click to toggle source
# File lib/graphql/filter.rb, line 4
def initialize(only: nil, except: nil)
  @only = only
  @except = except
end

Public Instance Methods

call(member, ctx) click to toggle source

Returns true if `member, ctx` passes this filter

# File lib/graphql/filter.rb, line 10
def call(member, ctx)
  (@only ? @only.call(member, ctx) : true) &&
  (@except ? !@except.call(member, ctx) : true)
end
merge(only: nil, except: nil) click to toggle source
# File lib/graphql/filter.rb, line 15
def merge(only: nil, except: nil)
  onlies = [self].concat(Array(only))
  merged_only = MergedOnly.build(onlies)
  merged_except = MergedExcept.build(Array(except))
  self.class.new(only: merged_only, except: merged_except)
end