class Gitea::PullRequest::UpdateService < Gitea::ClientService attr_reader :owner, :repo, :params, :number, :token # params: # { # "assignee": "string", # "assignees": [ # "string" # ], # "base": "string", # "body": "string", # "due_date": "2021-01-11T10:11:52.074Z", # "labels": [ # 0 # ], # "milestone": 0, # "state": "string", # "title": "string", # "unset_due_date": true # } def initialize(owner, repo, number, params, token=nil) @owner = owner @repo = repo @params = params @number = number @token = token end def call response = patch(url, request_params) status, message, body = render_response(response) json_format(status, message, body) end private def request_params Hash.new.merge(token: token, data: @params) end def url "/repos/#{owner}/#{repo}/pulls/#{number}".freeze end def json_format(status, message, body) case status when 201 then success(body) else error(message, status) end end end