Swish
Ruby wrapper for the Dribbble API
Install / Use
/learn @jeremyw/SwishREADME
= Swish! A Ruby wrapper for the Dribbble API
https://travis-ci.org/jeremyw/swish.png
Learn about the Dribbble API at http://dribbble.com/api.
== Installation
Swish is just a Ruby gem:
gem install swish
Not playing in the Ruby league? Here are the others we know of so far:
- AS3: http://github.com/markstar/StarDribbbleLib
- C#/.NET: http://github.com/superlogical/dribbble-dotnet (I would have called it "Nothing but .NET")
- ExpressionEngine 1.6.8+: http://ninefour.co.uk/labs/dribbble
- ExpressionEngine 2: http://olivierbon.com/projects/dreebbble
- jQuery: https://github.com/tylergaw/jribbble
- PHP: http://github.com/martinbean/dribbble-php
- Python: http://bitbucket.org/sjl/python-dribbble/src
== Examples
require 'swish'
Find a shot
shot = Dribbble::Shot.find(21603)
See some data about the shot
shot.title shot.image_url shot.url shot.player.name shot.views_count shot.likes_count shot.comments_count shot.rebounds_count
Or get a shot's rebounds
shot.rebounds
Find more shots
inspiring = Dribbble::Shot.popular call_the_police = Dribbble::Shot.everyone yay_noobs = Dribbble::Shot.debuts
Find a player
player = Dribbble::Player.find('jeremy')
See some data about the player
player.name player.avatar_url player.url player.location player.twitter_screen_name player.drafted_by_player_id
Player stats
player.shots_count player.draftees_count player.followers_count player.following_count
List a player's shots
player.shots
List shots by players that this player follows
player.shots_following
List a player's draftees
player.draftees
List a player's followers
player.followers
List the players who a player is following
player.following
== Pagination
The Dribbble API returns paginated lists, with a default page size of 15 items. Swish makes it easy to traverse the pages of any list.
Get the second page of popular shots, with 30 shots per page
shots = Dribbble::Shot.popular(:page => 2, :per_page => 30)
Some useful stats for rendering pagination links
shots.page # => current page number shots.per_page # => number of items per page shots.total # => total number of items on all pages shots.pages # => total number of pages
Try it with other lists
Dribbble::Player.find('jeremy').shots(:per_page => 5) Dribbble::Player.find('jeremy').shots_following(:page => 10) Dribbble::Shot.find(21603).rebounds(:page => 2, :per_page => 10)
See http://dribbble.com/api#pagination for more information.
== Who's using Swish?
- http://liiikes.com, "Using statistics to find the best content on Dribbble."
- http://hooppps.com, "A free open-source mobile dribbble browser"
Email jeremy@weiskotten.com to have your project added to this list.
== Thanks
Thanks to Dan and Rich for creating Dribbble (and its API!), and to everyone that has contributed to Swish, including:
- Jeffrey Chupp
- Jon Distad
- Michael Parenteau
- Adam Perfect
Email jeremy@weiskotten.com if you should be on this list. Apologies and thanks in advance.
== Note on Patches/Pull Requests
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so I don't break it in a future version unintentionally.
- Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
- Send me a pull request. Bonus points for topic branches.
== Copyright
Copyright (c) 2010 Jeremy Weiskotten. See LICENSE for details.
Related Skills
node-connect
351.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
