27 lines
571 B
Ruby
27 lines
571 B
Ruby
|
# frozen_string_literal: true
|
||
|
class Packages::TagsFinder
|
||
|
attr_reader :project, :package_name, :params
|
||
|
|
||
|
delegate :find_by_name, to: :execute
|
||
|
|
||
|
def initialize(project, package_name, params = {})
|
||
|
@project = project
|
||
|
@package_name = package_name
|
||
|
@params = params
|
||
|
end
|
||
|
|
||
|
def execute
|
||
|
packages = project.packages
|
||
|
.with_name(package_name)
|
||
|
packages = packages.with_package_type(package_type) if package_type.present?
|
||
|
|
||
|
Packages::Tag.for_packages(packages)
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def package_type
|
||
|
params[:package_type]
|
||
|
end
|
||
|
end
|