Module: GraphQL::Permissions::DSL
- Included in:
- Types::BasePermissionsInterface, Types::BasePermissionsObject
- Defined in:
- lib/graphql/permissions/dsl.rb
Instance Method Summary collapse
Instance Method Details
#included(klass) ⇒ Object
6 7 8 9 |
# File 'lib/graphql/permissions/dsl.rb', line 6 def included(klass) super klass.extend(GraphQL::Permissions::DSL) end |
#permission(action, **options, &block) ⇒ void
This method returns an undefined value.
13 14 15 16 17 18 19 20 21 |
# File 'lib/graphql/permissions/dsl.rb', line 13 def (action, **, &block) field(:"can_#{action}", 'Boolean', description: "Whether the current user can #{action} this object.", **, null: false, resolver_method: :"can_#{action}?") define_method(:"can_#{action}?") do block ? instance_exec(&block) : GraphQL::Permissions..call(action, object, context) end end |