Class: Types::Packages::PackageDependencyLinkType
- Inherits:
-
BaseObject
- Object
- GraphQL::Schema::Object
- BaseObject
- Types::Packages::PackageDependencyLinkType
- Defined in:
- app/graphql/types/packages/package_dependency_link_type.rb
Instance Method Summary collapse
- #dependency ⇒ Object
-
#metadata ⇒ Object
NOTE: This method must be kept in sync with the union type: ‘Types::Packages::DependencyLinkMetadata`.
Methods inherited from BaseObject
accepts, assignable?, authorization, authorization_scopes, authorize, authorized?, #current_user, #id
Methods included from Gitlab::Graphql::Present
Instance Method Details
#dependency ⇒ Object
36 37 38 |
# File 'app/graphql/types/packages/package_dependency_link_type.rb', line 36 def dependency ::Gitlab::Graphql::Loaders::BatchModelLoader.new(::Packages::Dependency, object.dependency_id).find end |
#metadata ⇒ Object
NOTE: This method must be kept in sync with the union type: ‘Types::Packages::DependencyLinkMetadata`.
‘Types::Packages::DependencyLinkMetadata.resolve_type(metadata, ctx)` must never raise.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'app/graphql/types/packages/package_dependency_link_type.rb', line 20 def model_class = case object.package.package_type when 'nuget' ::Packages::Nuget::DependencyLinkMetadatum end return unless model_class # rubocop: disable CodeReuse/ActiveRecord BatchLoader::GraphQL.for(object.id).batch do |ids, loader| results = model_class.where(dependency_link_id: ids) results.each { |record| loader.call(record.dependency_link_id, record) } end # rubocop: enable CodeReuse/ActiveRecord end |