Dribbble API wrapper Gem
Calyhre/dribbble is an unofficial API wrapper ruby gem for Dribbble.com's API.
What are you working on? Dribbble is a community of designers answering that question each day. Web designers, graphic designers, illustrators, icon artists, typographers, logo designers, and other creative types share small screenshots (shots) that show their work, process, and current projects.
Installation
Requirements
- Ruby
~> 2.5, usev1.2.0for previous Ruby versions.
In a Gemfile
gem 'dribbble'By yourself
gem install dribbbleUsage
Lets assume you have your token set:
token = 'my_access_token'Some calls are through a client:
client = Dribbble::Client.new(token)Projects
Find a Projects
project = Dribbble::Project.find(token, 1234)Update a Project
project.update(name: 'Some project', description: 'Some description');Delete a Project
project.deleteShots
Find a shot
shot = Dribbble::Shot.find(token, 1971500)Create a shot
params = {
title: 'A new shot',
description: 'Shot description',
image: File.open('/path/to/image.png'),
tags: %w(tag1 tag2),
team_id: 1234,
rebound_source_id: 1234
}
shot = Dribbble::Shot.create(token, params)Update a shot
params = {
title: 'A new shot',
description: 'Shot description',
tags: %w(tag1 tag2),
team_id: 1234
}
shot.update(params)Delete a shot
shot.deleteShot attachments
Create an attachment
shot.create_attachment(file: File.open('attachment_path'))Delete an attachment
shot.delete_attachment(206165)Shot projects
List projects for a shot
projects = shot.projectsUsers
Get the authenticated user
user = client.userList authenticated user’s projects
projects = client.projectsUser shots
List shots for authenticated user
shots = client.shotsPagination & parameters
All requests are paginated, defaults params are :
| Param | Default |
|---|---|
| page | 1 |
| per_page | 100 |
You override them or adding some by passing a Hash to every request :
user.shots page: 2, custom_param: 'My param'Contributing
Feel free to help me make this gem awesome !
Licence
Released under the MIT License. See the LICENSE file for further details.