Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ryw/pinboard
Ruby wrapper for Pinboard API
https://github.com/ryw/pinboard
Last synced: 3 months ago
JSON representation
Ruby wrapper for Pinboard API
- Host: GitHub
- URL: https://github.com/ryw/pinboard
- Owner: ryw
- License: mit
- Created: 2011-07-29T00:44:23.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2023-07-23T00:57:34.000Z (over 1 year ago)
- Last Synced: 2024-07-18T20:48:06.085Z (4 months ago)
- Language: Ruby
- Homepage: https://rubygems.org/gems/pinboard
- Size: 80.1 KB
- Stars: 122
- Watchers: 3
- Forks: 21
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: MIT-LICENSE
Awesome Lists containing this project
README
The Pinboard Ruby Gem
=====================
A Ruby wrapper for the [Pinboard API](http://pinboard.in/api/).Installation
------------`gem install pinboard`
Examples
--------I'm currently exploring two API interfaces:
```ruby
pinboard = Pinboard::Client.new(:token => 'your_api_token')
posts = pinboard.posts
```Your [API token](https://blog.pinboard.in/2012/07/api_authentication_tokens/) can be found on your
[settings/password](https://pinboard.in/settings/password) page.or:
```ruby
posts = Pinboard::Post.all(:username => 'foo', :password => 'bar')
```
Both examples work.Passing arguments: (works only for the Client API Interface)
```ruby
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:
```ruby
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](http://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](https://secure.travis-ci.org/ryw/pinboard.png)](http://travis-ci.org/ryw/pinboard)
[![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/ryw/pinboard)
Links
-----* [Pinboard API Documentation](http://pinboard.in/api/)
How to Contribute
-----------------
If you find what looks like a bug:* Check the [GitHub issue tracker](http://github.com/ryw/pinboard/issues/)
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](http://github.com/ryw/pinboard).
* Make your changes with specs.
* Commit the changes without messing with the Rakefile, VERSION, or history.
* Send me a pull request.TODO
----* Throttle requests to one per second:
http://datagraph.rubyforge.org/rack-throttle/
* If get 503 response, double the throttle to two secondsLicense
-------See [MIT-LICENSE](MIT-LICENSE) for details.
Copyright (c) 2011 Ryan Walker.
Copyright (c) 2013-2016 Jan-Erik Rediger.