Module: GraphQL::Permissions::InterfacePermissions
- Defined in:
- lib/graphql/permissions/interface_permissions.rb
Instance Attribute Summary collapse
- #permissions_type ⇒ Module? readonly
Instance Method Summary collapse
- #included(klass) ⇒ Object
- #interfaces_with_permissions ⇒ Array<Module>
- #permissions(&block) ⇒ Object
Instance Attribute Details
#permissions_type ⇒ Module? (readonly)
7 8 9 |
# File 'lib/graphql/permissions/interface_permissions.rb', line 7 def @permissions_type end |
Instance Method Details
#included(klass) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/graphql/permissions/interface_permissions.rb', line 9 def included(klass) super klass.extend(GraphQL::Permissions::InterfacePermissions) unless klass.is_a?(Class) return unless klass.is_a?(Class) && klass < GraphQL::Schema::Object && klass. {} # rubocop:disable Lint/EmptyBlock klass..implements() end |
#interfaces_with_permissions ⇒ Array<Module>
20 21 22 |
# File 'lib/graphql/permissions/interface_permissions.rb', line 20 def interfaces.select { |interface| interface.respond_to?(:permissions_type) && interface. } end |
#permissions(&block) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/graphql/permissions/interface_permissions.rb', line 24 def (&block) unless @permissions_type = const_set(:PermissionsType, @permissions_type) end .class_eval(&block) end |