class Github::Client::Repos::Releases::Assets

def upload(*args)

Other tags:
    Api: - public

Parameters:
  • params (Hash) --
def upload(*args)
  arguments(args, required: [:owner, :repo, :id, :filepath]) do
    permit VALID_ASSET_PARAM_NAMES
  end
  params = arguments.params
  unless type = params['content_type']
    type = infer_media(arguments.filepath)
  end
  file = Faraday::UploadIO.new(arguments.filepath, type)
  options = {
    headers: { content_type: type },
    endpoint: upload_endpoint,
    query: {'name' => params['name']}
  }
  params['data']    = file.read
  params['options'] = options
  post_request("/repos/#{arguments.owner}/#{arguments.repo}/releases/#{arguments.id}/assets", params)
ensure
  file.close if file
end