The Pinboard Ruby Gem

A Ruby wrapper for the Pinboard API.

Installation

gem install pinboard

Examples

I'm currently exploring two API interfaces:

    pinboard = Pinboard::Client.new(:token => 'your_api_token')
    posts = pinboard.posts

Your API token can be found on your settings/password page.

or:

    posts = Pinboard::Post.all(:username => 'foo', :password => 'bar')

Both examples work.

Passing arguments: (works only for the Client API Interface)

    pinboard.posts(:tag => 'ruby') #all posts tagged 'ruby'
    pinboard.posts(:tag => 'ruby,pinboard') #all posts tagged 'ruby' and 'pinboard'
    pinboard.posts(:start => 20) #starting on the 20th post
    pinboard.posts(:results => 20) #return only first 20 matching posts
    pinboard.posts(:fromdt => 4.days.ago) #all posts in past 4 days
    pinboard.posts(:todt => 4.days.ago) #all posts up to 4 days ago

Adding new posts:

  pinboard.add(:url => "http://example.com/", :description => 'Example post')

Future Examples (I don't need them, so I haven't written them)

pinboard.posts(:meta => true) #include meta data in post models

Ruby Support & Continuous Integration

I am using travis-ci.org for continuous integration and support of the following rubies in rvm:

  • 1.9.3
  • 2.0.0
  • 2.1
  • 2.2
  • jruby
  • ruby-head

Build Status

Code Climate

How to Contribute

If you find what looks like a bug:

  • Check the GitHub issue tracker to see if anyone else has had the same issue.
  • If you don’t see anything, create an issue with information on how to reproduce it.

If you want to contribute an enhancement or a fix:

  • Fork the project on github.
  • Make your changes with specs.
  • Commit the changes without messing with the Rakefile, VERSION, or history.
  • Send me a pull request.

TODO

License

See MIT-LICENSE for details.

Copyright (c) 2011 Ryan Walker.
Copyright (c) 2013-2016 Jan-Erik Rediger.