summaryrefslogtreecommitdiff
path: root/lib/api/entities.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/entities.rb')
-rw-r--r--lib/api/entities.rb51
1 files changed, 14 insertions, 37 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index d6fed1a1eed..d7e74582459 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -114,33 +114,23 @@ module API
end
end
- class RepoObject < Grape::Entity
+ class RepoBranch < Grape::Entity
expose :name
- expose :commit do |repo_obj, options|
- if repo_obj.respond_to?(:commit)
- repo_obj.commit
- elsif options[:project]
- options[:project].repository.commit(repo_obj.target)
- end
+ expose :commit do |repo_branch, options|
+ options[:project].repository.commit(repo_branch.target)
end
- expose :protected do |repo_obj, options|
- if options[:project]
- options[:project].protected_branch? repo_obj.name
- end
+ expose :protected do |repo_branch, options|
+ options[:project].protected_branch? repo_branch.name
end
- expose :developers_can_push do |repo_obj, options|
- if options[:project]
- options[:project].developers_can_push_to_protected_branch? repo_obj.name
- end
+ expose :developers_can_push do |repo_branch, options|
+ options[:project].developers_can_push_to_protected_branch? repo_branch.name
end
- expose :developers_can_merge do |repo_obj, options|
- if options[:project]
- options[:project].developers_can_merge_to_protected_branch? repo_obj.name
- end
+ expose :developers_can_merge do |repo_branch, options|
+ options[:project].developers_can_merge_to_protected_branch? repo_branch.name
end
end
@@ -437,27 +427,14 @@ module API
end
class RepoTag < Grape::Entity
- expose :name
- expose :message do |repo_obj, _options|
- if repo_obj.respond_to?(:message)
- repo_obj.message
- else
- nil
- end
- end
+ expose :name, :message
- expose :commit do |repo_obj, options|
- if repo_obj.respond_to?(:commit)
- repo_obj.commit
- elsif options[:project]
- options[:project].repository.commit(repo_obj.target)
- end
+ expose :commit do |repo_tag, options|
+ options[:project].repository.commit(repo_tag.target)
end
- expose :release, using: Entities::Release do |repo_obj, options|
- if options[:project]
- options[:project].releases.find_by(tag: repo_obj.name)
- end
+ expose :release, using: Entities::Release do |repo_tag, options|
+ options[:project].releases.find_by(tag: repo_tag.name)
end
end