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_type=(guard_type) ⇒ Object



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

def __guard_type=(guard_type)
  @__guard_type = guard_type
end

#__policy_object=(policy_object) ⇒ Object



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

def __policy_object=(policy_object)
  @__policy_object = policy_object
  @__guard_object = GraphQL::Guard.new(policy_object: policy_object)
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.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