class GraphQL::Filter

@api private

def call(member, ctx)

Returns true if `member, ctx` passes this filter
def call(member, ctx)
  (@only ? @only.call(member, ctx) : true) &&
  (@except ? !@except.call(member, ctx) : true)
end

def initialize(only: nil, except: nil)

def initialize(only: nil, except: nil)
  @only = only
  @except = except
end

def merge(only: nil, except: nil)

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