32 lines
904 B
Ruby
32 lines
904 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Atlassian
|
|
module JiraConnect
|
|
module Serializers
|
|
class BranchEntity < BaseEntity
|
|
expose :id do |branch|
|
|
Digest::SHA256.hexdigest(branch.name)
|
|
end
|
|
expose :issueKeys do |branch|
|
|
JiraIssueKeyExtractor.new(branch.name).issue_keys
|
|
end
|
|
expose :name
|
|
expose :lastCommit, using: JiraConnect::Serializers::CommitEntity do |branch, options|
|
|
options[:project].commit(branch.dereferenced_target)
|
|
end
|
|
|
|
expose :url do |branch, options|
|
|
project_commits_url(options[:project], branch.name)
|
|
end
|
|
expose :createPullRequestUrl do |branch, options|
|
|
project_new_merge_request_url(
|
|
options[:project],
|
|
merge_request: {
|
|
source_branch: branch.name
|
|
}
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|