A Ruby interface to Feedly API.
- Categories API
- Entries API
- Evernote API
- Facebook API
- Feeds API
- Markers API
- Microsoft API
- Mixes API
- OPML API
- Preferences API
- Profile API
- Search API
- Streams API
- Subscriptions API
- Tags API
- Topics API
- Twitter API
- URL Shortener API
Feedlr is tested under 2.0, 2.1, 2.2, JRuby(1.9 mode) and Rubinius 2.2.7.
Add this line to your application's Gemfile:
gem 'feedlr'
And then execute:
$ bundle
Or install it yourself as:
$ gem install feedlr
require 'feedlr'
client = Feedlr::Client.new(oauth_access_token: 'oauth access token')
# Fetch user categories
p client.user_categories
# Fetch user subscriptions
p client.user_subscriptionsYou can easily inspect the available client methods:
client = Feedlr::Client.new
p client.api_methodsAlso, the gem is fairly documented. Browse the YARD documentaion for more information.
You can have a global configuration that instances can use. For example, you can have the following in some initializer's code:
Feedlr.configure do |config|
config.oauth_access_token = 'oauth access token'
config.sandbox = true
config.logger = SomeCustomLogger.new
endAnd elsewhere you can do:
client = Feedlr::Client.newYou can set the oauth access token, a custom logger(if needed) and whether or not to use the client on sandbox(develpment) mode:
require 'logger'
client = Feedlr::Client.new(
oauth_access_token: 'oauth access token',
sandbox: true,
logger: Logger.new(STDOUT)
)Some requests support pagination(continuation)
cursor = client.stream_entries_contents(stream_id)
cursor.each { |page| p page.items.map(&:title) }For those requests, you will get enumerable paginated results Feedlr::Cursor. Calling each or each_page on a Feedlr::Cursor object yields the response and any follow up responses.
There are a few other helper methods that make it easy to control response paging:
cursor.last_page? #=> false
cursor.next_page? #=> true
# gets the next page, returns nil for the last page
resp = cursor.next_page
# gets each response in a loop
resp = cursor.next_page until cursor.last_page?The client deals with a variaty of errors. The errors have a corresponding rate_limit object that maps to the returned rate limiting headers if any.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request
