[#105] add files action

This commit is contained in:
Alexander Machehin 2013-06-24 20:54:22 +06:00
parent 926c4d604d
commit dcde3aa369
2 changed files with 28 additions and 0 deletions

View File

@ -97,6 +97,10 @@ class Api::V1::PullRequestsController < Api::V1::BaseController
@commits.paginate(paginate_params)
end
def files
@stats = @pull.diff_stats.zip(@pull.diff)
end
private
def render_pulls_list

View File

@ -0,0 +1,24 @@
json.files @stats do |json_stat, stat|
fstat, diff = stat
commit_id = diff.deleted_file ? @pull.to_commit.id : @pull.from_commit.id
json_stat.sha commit_id
json_stat.filename diff.b_path
status = case
when diff.new_file
'added'
when diff.deleted_file
'deleted'
when diff.renamed_file
'renamed'
else
'modified'
end
json_stat.status status
json_stat.additions fstat.additions
json_stat.deletions fstat.deletions
json_stat.changes fstat.additions + fstat.deletions
json_stat.blob_https_url blob_path(@project, commit_id, diff.b_path)
json_stat.raw_https_url raw_path(@project, commit_id, diff.b_path)
end
json.url files_api_v1_project_pull_request_path(:format => :json)