Class: GraphQL::Field

Inherits:
Object
  • Object
show all
Defined in:
lib/graphql/guard/testing.rb

Constant Summary collapse

NoGuardError =
Class.new(StandardError)

Instance Method Summary collapse

Instance Method Details

#__guard_object=(guard_object) ⇒ Object



15
16
17
# File 'lib/graphql/guard/testing.rb', line 15

def __guard_object=(guard_object)
  @guard_object = guard_object || GraphQL::Guard.new
end

#__guard_type=(guard_type) ⇒ Object



19
20
21
# File 'lib/graphql/guard/testing.rb', line 19

def __guard_type=(guard_type)
  @guard_type = guard_type
end

#guard(*args) ⇒ Object

Raises:



7
8
9
10
11
12
13
# File 'lib/graphql/guard/testing.rb', line 7

def guard(*args)
  raise NoGuardError.new("Get your field by calling: Type.field_with_guard('#{name}')") unless @guard_type
  guard_proc = @guard_object.field_guard_proc(@guard_type, self) || @guard_object.type_guard_proc(@guard_type, self)
  raise NoGuardError.new("Guard lambda does not exist for #{@guard_type}.#{name}") unless guard_proc

  guard_proc.call(*args)
end