No description
Find a file
2012-12-28 08:46:24 +01:00
lib Fixed error with creating hash for invalid credentials 2012-12-28 08:46:24 +01:00
spec Fixed error with creating hash for invalid credentials 2012-12-28 08:46:24 +01:00
.gemtest initial commit 2011-12-01 23:07:24 -05:00
.gitignore initial commit 2011-12-01 23:07:24 -05:00
.rspec initial commit 2011-12-01 23:07:24 -05:00
.simplecov initial commit 2011-12-01 23:07:24 -05:00
.travis.yml test all the rubies 2011-12-03 16:38:08 -05:00
.yardopts initial commit 2011-12-01 23:07:24 -05:00
Gemfile fix the build in jruby 2011-12-03 16:42:11 -05:00
instapaper.gemspec removed hard hashie dependency 2011-12-03 16:35:54 -05:00
LICENSE.md initial commit 2011-12-01 23:07:24 -05:00
Rakefile initial commit 2011-12-01 23:07:24 -05:00
README.md use the travis-style Gemnasium status image 2011-12-04 00:12:17 -05:00

Instapaper

Instapaper is a ruby wrapper for interacting with Instapaper's Full Developer API. Note that access to the Full API is restricted to Instapaper subscribers only.

Installation

gem install instapaper

Usage

Instapaper offers full support for all methods exposed through the Full API. Note that Instapaer does not support the request-token/authorize workflow. To obtain an access token, use the access_token method.

Configuration

Instapaper.configure do |config|
  config.consumer_key = YOUR_CONSUMER_KEY
  config.consumer_secret = YOUR_CONSUMER_SECRET
  config.oauth_token = YOUR_OAUTH_TOKEN
  config.oauth_token_secret = YOUR_OAUTH_TOKEN_SECRET
end

Authentication

To obtain an access token via xAuth:

Instapaper.access_token(username, password)

You can also verify credentials once you have received tokens:

Instapaper.verify_credentials

Bookmark Operations

Retrieve a list of bookmarks:

Instapaper.bookmarks

Add a new bookmark:

Instapaper.add_bookmark('http://someurl.com', :title => 'This is the title', :description => 'This is the description')

Remove a bookmark:

Instapaper.delete_bookmark(bookmark_id)

Update read progress:

Instapaper.update_read_progress(bookmark_id, 0.5)

Star/Un-star a bookmark:

Instapaper.star(bookmark_id)
Instapaper.unstar(bookmark_id)

Archive/Un-archive a bookmark:

Instapaper.archive(bookmark_id)
Instapaper.unarchive(bookmark_id)

Move a bookmark to a folder:

Instapaper.move(bookmark_id, folder_id)

Obtain the text of a bookmark:

Instapaper.text(bookmark_id)

Folder Operations

To obtain the list of folders:

Instapaper.folders

You can add by passing a name:

Instapaper.add_folder('eventmachine')

And remove folders by referencing a folder by it's id.

Instapaper.delete_folder(folder_id)

Lastly, the folders can be reordered:

Instapaper.set_order(['folder_id1:2','folder_id2:1'])

Restrictions

Users without an Instapaper Subscription may only invoke the following calls:

Instapaper.access_token
Instapaper.verify_credentials
Instapaper.add_bookmark
Instapaper.folders

Build Status

Build Status

Dependency Status

Dependency Status

Documentation

http://rdoc.info/gems/instapaper

Contributing

  • 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 (c) 2011 Steve Agalloco. See LICENSE for details.