github
Version, currently 0.1.24 versions
- 0.2.1latestJun 8, 2017
- 0.2.0not indexedJun 8, 2017
- 0.1.2not indexedJun 8, 2017
- 0.1.1not indexedJun 8, 2017
github.com/felipeelias/crystal-github
Github API wrapper in Crystal! (work in progress)
8 stars
0 dependents
License: MIT
Nothing has been indexed for 0.1.2 yet. The tag is recorded, its shard.yml has not been read, so the manifest and dependency list below are empty because they are unknown rather than because they are absent.
Installation
# Add this to your shard.yml
dependencies:
github:
github: felipeelias/crystal-github
version: ~> 0.1.2Then run:
shards installshard.yml
No shard.yml has been indexed for 0.1.2. You can read it on the repository.
Dependencies
Unknown: the shard.yml for this version has not been read yet.
README
This README is the one indexed from the repository at its latest ref, not from the tag for this version.
# crystal-github
[](https://travis-ci.org/felipeelias/crystal-github)
Github API wrapper in [Crystal](https://crystal-lang.org)! (work in progress)
## Installation
Add this to your application's `shard.yml`:
```yaml
dependencies:
github:
github: felipeelias/crystal-github
version: ~> 0.1.0
```
## Usage
On your application code, require it with:
```crystal
require "github"
```
### OAuth2 Flow
For now, this client only supports OAuth2 flow to make requests to Github API. To get this working, you need to register a new [`application`](https://github.com/settings/applications/new) and setup the proper attributes.
```crystal
oauth2 = Github::OAuth2.new(client_id, client_secret, redirect_uri)
```
With that, you can build the `authorization_uri` and redirect your users to that
```crystal
oauth2.authorize_uri
# => https://github.com/login/oauth/authorize...
```
If the user authorizes your application, you should be redirected back to the `redirect_uri` that you set up previously, with a `code` parameter in the URI
```crystal
# if you're using kemal
code = env.params.query["code"]
token = oauth2.access_token(code)
# => OAuth2::AccessToken is returned
token.access_token
# => "53gdf31mnv..."
```
You can then use the `access_token` to authorize users with other API requests.
### Users API
**NOTE: subject to change**
```crystal
api = Github::UserApi.new(token.access_token)
user = api.user
# => {"login" => ..., "avatar_url" => ...}
```
## Development
Run tests with:
crystal spec
You can test it locally with other apps by adding it to your `shards.yml`
```yaml
dependencies:
github:
path: path/to/crystal-github
```
## Contributing
1. Create an issue on Github **first**, describing the feature or fix you'd like to add.
2. If nobody is working on the issue, feel free to fork and send a pull-request
## Contributors
- [felipeelias](https://github.com/felipeelias) Felipe Philipp - creator, maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.1.2- Tagged
- Jun 8, 2017
- Commit
5b45d99efb59- Indexed
- not yet
Dependents
No indexed shard depends on this one yet.
Repository
github.com/felipeelias/crystal-github
Metadata
- Created
- Aug 13, 2026
- Updated
- Aug 13, 2026
- Synced
- Aug 13, 2026
- Versions
- 4