module Slots::JWT::TypeHelper
Public Class Methods
included(mod)
click to toggle source
# File lib/slots/jwt/type_helper.rb, line 6 def self.included(mod) mod.module_eval do def initialize(*args, required_permission: nil, **kwargs, &block) required_permission(required_permission) # Pass on the default args: super(*args, **kwargs, &block) end end end
new(*args, required_permission: nil, **kwargs, &block)
click to toggle source
Calls superclass method
# File lib/slots/jwt/type_helper.rb, line 8 def initialize(*args, required_permission: nil, **kwargs, &block) required_permission(required_permission) # Pass on the default args: super(*args, **kwargs, &block) end
Public Instance Methods
required_permission(permission_level)
click to toggle source
Call this method in an Object class to set the permission level:
# File lib/slots/jwt/type_helper.rb, line 16 def required_permission(permission_level) @_required_permission = permission_level end
to_graphql()
click to toggle source
This method is overridden to customize object types:
Calls superclass method
# File lib/slots/jwt/type_helper.rb, line 21 def to_graphql type_defn = super # returns a GraphQL::ObjectType # Get a configured value and assign it to metadata type_defn.metadata[:has_required_permission] = true type_defn.metadata[:required_permission] = @_required_permission type_defn end