Project

dribbble

0.02
No commit activity in last 3 years
No release in over 3 years
Simple gem to make shots and list stuff from Dribbble
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 12.3.3
~> 3.10
~> 2.1
~> 3.13

Runtime

 Project Readme

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.