# get the diff info for the commit class Gitea::Commit::DiffService < Gitea::ClientService attr_reader :owner, :repo, :sha, :token # GET /repos/{owner}/{repo}/commits/{sha}/diff # owner: 用户 # repo: 仓库名称/标识 # sha: commit唯一标识 # eg: # Gitea::Commit::DiffService.call('jasder', 'repo_identifier', 'sha value') def initialize(owner, repo, sha, token=nil) @owner = owner @repo = repo @sha = sha @token = token end def call response = get(url, params) render_result(response) end private def params Hash.new.merge(token: token) end def url "/repos/#{owner}/#{repo}/commits/#{sha}/diff".freeze end def render_result(response) case response.status when 200 JSON.parse(response.body) else nil end end end