# GHASS
GHASS is a PHP GitHub API client that makes it easy to manage files in a GitHub repository (privated or public).
composer require jprodrigues70/laravel-ghass
GHASS_REPO=organization/project
GHASS_TOKEN=yourgithubaccesstoken
GHASS_BRANCH=master
<?php
$ghass = new \Ghass\Ghass();
$data = $ghass->file('index.html');
$ghass->delete('index.html', $data['sha']);
Sha is a code that identifies files, folders, etc. on Github. It is extremely necessary in PUT, DELETE and GET operations.
If you want to use Ghass to manage files larger than 1 megabyte, you will need to store the sha key for each file in some type of database. If you are going to manage files up to 1 megabyte, you can use the Ghass file
method to get the contents of the file and also the sha.
Gets the contents of a file in a repository. This method supports files up to 1 megabyte in size.
$ghass->file($path);
Get the contents of a file in a repository. The content in the response will always be Base64 encoded. This method supports files up to 100 megabytes in size.
$ghass->get($sha);
Creates a new file in a repository. It requires a Base64 encoded data.
$commitMessage
is optional.
$ghass->post($path, $data, $commitMessage);
Updates an existing file in a repository. It requires a Base64 encoded data.
PUT CAN'T RENAME FILES. If you want to rename a file, you will need to delete the previous and create the newer.
$commitMessage
is optional.
$ghass->put($path, $data, $sha, $commitMessage = '');
Deletes a file in a repository.
$commitMessage
is optional.
$ghass->delete($path, $sah, $commitMessage = '');