class Gitea::Commit::InfoService < Gitea::ClientService attr_reader :owner, :repo, :sha, :token # GET /repos/{owner}/{repo}/commits/{sha}/diff # owner: 用户 # repo: 仓库名称/标识 # sha: commit唯一标识 # eg: # Gitea::Commit::InfoService.call('jasder', 'repo_identifier', 'sha value', token='gitea token') 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}/git/commits/#{sha}".freeze end def render_result(response) case response.status when 200 JSON.parse(response.body) else nil end end end