class Github::Client::GitData::References
def create(*args)
- Api: - public
Parameters:
-
params
(Hash
) --
def create(*args) arguments(args, required: [:user, :repo]) do permit VALID_REF_PARAM_NAMES assert_required REQUIRED_REF_PARAMS end params = arguments.params validate_reference params['ref'] post_request("/repos/#{arguments.user}/#{arguments.repo}/git/refs", params) end
def delete(*args)
- Api: - public
def delete(*args) arguments(args, required: [:user, :repo, :ref]) params = arguments.params delete_request("/repos/#{arguments.user}/#{arguments.repo}/git/refs/#{arguments.ref}", params) end
def get(*args)
- Api: - public
def get(*args) arguments(args, required: [:user, :repo, :ref]) validate_reference arguments.ref params = arguments.params get_request("/repos/#{arguments.user}/#{arguments.repo}/git/refs/#{arguments.ref}", params) end
def list(*args)
- Api: - public
def list(*args) arguments(args, required: [:user, :repo]) params = arguments.params user = arguments.user repo = arguments.repo response = if (ref = params.delete('ref')) validate_reference ref get_request("/repos/#{user}/#{repo}/git/refs/#{ref}", params) else get_request("/repos/#{user}/#{repo}/git/refs", params) end return response unless block_given? response.each { |el| yield el } end
def update(*args)
- Api: - public
Parameters:
-
params
(Hash
) --
def update(*args) arguments(args, required: [:user, :repo, :ref]) do permit VALID_REF_PARAM_NAMES assert_required %w[ sha ] end patch_request("/repos/#{arguments.user}/#{arguments.repo}/git/refs/#{arguments.ref}", arguments.params) end
def validate_reference(ref)
def validate_reference(ref) refs = (ref =~ (/^(\/)?refs.*/) ? ref : "refs/#{ref}").gsub(/(\/)+/, '/') refs.gsub!(/^\//, '') unless VALID_REF_PARAM_VALUES['ref'] =~ refs raise ArgumentError, "Provided 'reference' is invalid" end end