If using guard ->(obj, args, ctx) { some_method } inside a base type class, and then inheriting from that class you cannot specify overrides per sub class or even per field. It will always use the guard from the parent class.
class ParentType < BaseType
guard ->(obj, args, ctx) { false }
end
class ChildType < ParentType
guard ->(obj, args, ctx) { true } # will not work
field :id, ID, required: true, guard ->(obj, args, ctx) { true } # also will not work
end
If using
guard ->(obj, args, ctx) { some_method }
inside a base type class, and then inheriting from that class you cannot specify overrides per sub class or even per field. It will always use the guard from the parent class.