df7ed9eef2
Fix coding style Improve coding style Decouple UPDATE and DELETE operations of asset links Rename links_attributes to assets:links Rename exposed param and updated spec
35 lines
790 B
Ruby
35 lines
790 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Releases
|
|
class Source
|
|
include ActiveModel::Model
|
|
|
|
attr_accessor :project, :tag_name, :format
|
|
|
|
FORMATS = %w(zip tar.gz tar.bz2 tar).freeze
|
|
|
|
class << self
|
|
def all(project, tag_name)
|
|
Releases::Source::FORMATS.map do |format|
|
|
Releases::Source.new(project: project,
|
|
tag_name: tag_name,
|
|
format: format)
|
|
end
|
|
end
|
|
end
|
|
|
|
def url
|
|
Gitlab::Routing
|
|
.url_helpers
|
|
.project_archive_url(project,
|
|
id: File.join(tag_name, archive_prefix),
|
|
format: format)
|
|
end
|
|
|
|
private
|
|
|
|
def archive_prefix
|
|
"#{project.path}-#{tag_name.tr('/', '-')}"
|
|
end
|
|
end
|
|
end
|