Skip to content

Calyhre/dribbble

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Dribbble API wrapper Gem

Gem Version

Calyhre/dribbble is an unofficial API wrapper ruby gem for Dribbble.com's API.

But, what is Dribbble?

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, use v1.2.0 for previous Ruby versions.

In a Gemfile

gem 'dribbble'

By yourself

gem install dribbble

Usage

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.delete

Shots

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.delete

Shot 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.projects

Users

Get the authenticated user
user = client.user
List authenticated user’s projects
projects = client.projects

User shots

List shots for authenticated user
shots = client.shots

Pagination & 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 !

Contributors and CONTRIBUTING

Licence

Released under the MIT License. See the LICENSE file for further details.