diff options
Diffstat (limited to 'app/serializers/project_entity.rb')
-rw-r--r-- | app/serializers/project_entity.rb | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/app/serializers/project_entity.rb b/app/serializers/project_entity.rb index b3e5fd21e97..71d6835cb31 100644 --- a/app/serializers/project_entity.rb +++ b/app/serializers/project_entity.rb @@ -1,14 +1,25 @@ class ProjectEntity < Grape::Entity + include ActionView::Helpers::NumberHelper include RequestAwareEntity - expose :id - expose :name + expose :id, :name, :description, :visibility, :full_name, :full_path, :web_url, + :created_at, :updated_at, :star_count, :can_edit - expose :full_path do |project| + def can_edit + return false unless request.respond_to?(:current_user) + + can?(request.current_user, :edit_project, object) + end + + expose :project_path do |project| project_path(project) end - expose :full_name do |project| - project.full_name + expose :edit_path do |project| + edit_project_path(project) + end + + expose :avatar_url do |project| + project.try(:avatar_url) end end |