32 lines
913 B
Ruby
32 lines
913 B
Ruby
# frozen_string_literal: true
|
|
|
|
module API
|
|
module Entities
|
|
class Compare < Grape::Entity
|
|
expose :commit, using: Entities::Commit do |compare, _|
|
|
compare.commits.last
|
|
end
|
|
|
|
expose :commits, documentation: { is_array: true }, using: Entities::Commit do |compare, _|
|
|
compare.commits
|
|
end
|
|
|
|
expose :diffs, documentation: { is_array: true }, using: Entities::Diff do |compare, _|
|
|
compare.diffs.diffs.to_a
|
|
end
|
|
|
|
expose :compare_timeout, documentation: { type: 'boolean' } do |compare, _|
|
|
compare.diffs.diffs.overflow?
|
|
end
|
|
|
|
expose :same, as: :compare_same_ref, documentation: { type: 'boolean' }
|
|
|
|
expose :web_url,
|
|
documentation: {
|
|
example: "https://gitlab.example.com/gitlab/gitlab-foss/-/compare/main...feature"
|
|
} do |compare, _|
|
|
Gitlab::UrlBuilder.build(compare)
|
|
end
|
|
end
|
|
end
|
|
end
|