Class: Packages::PackagesFinder

Inherits:
Object
  • Object
show all
Includes:
FinderHelper
Defined in:
app/finders/packages/packages_finder.rb

Constant Summary

Constants included from FinderHelper

FinderHelper::InvalidPackageTypeError, FinderHelper::InvalidStatusError

Instance Method Summary collapse

Constructor Details

#initialize(project, params = {}) ⇒ PackagesFinder

Returns a new instance of PackagesFinder.



7
8
9
10
11
12
13
# File 'app/finders/packages/packages_finder.rb', line 7

def initialize(project, params = {})
  @project = project
  @params = params

  params[:order_by] ||= 'created_at'
  params[:sort] ||= 'asc'
end

Instance Method Details

#executeObject



15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/finders/packages/packages_finder.rb', line 15

def execute
  packages = project.packages
                    .including_project_namespace_route
                    .including_tags
  packages = packages.preload_pipelines if preload_pipelines

  packages = filter_with_version(packages)
  packages = filter_by_package_type(packages)
  packages = filter_by_package_name(packages)
  packages = filter_by_status(packages)
  order_packages(packages)
end