gitlab-org--gitlab-foss/lib/gitlab/legacy_github_import/label_formatter.rb

40 lines
737 B
Ruby

# frozen_string_literal: true
module Gitlab
module LegacyGithubImport
class LabelFormatter < BaseFormatter
def attributes
{
project: project,
title: title,
color: color
}
end
def project_association
:labels
end
def create!
params = attributes.except(:project)
service = ::Labels::FindOrCreateService.new(nil, project, params)
label = service.execute(skip_authorization: true)
raise ActiveRecord::RecordInvalid, label unless label.persisted?
label
end
private
def color
"##{raw_data[:color]}"
end
def title
raw_data[:name]
end
end
end
end