Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status Maintainability Test Coverage Issue Count Gem Version License

Consummo is an engine for consuming, enriching and producing pieces of content from RSS feeds.

Quick Start

  # Create a Feed
  feed = "")

  # Produce Items from the feed
  items = [feed]).produce
  # items => [SimpleItem, SimpleItem, SimpleItem]

  # define our content enrichers
  enrichers = []

  # Consume items
  enriched_items = items, enrichers: enrichers).consume
  # enriched_items => [SimpleItem, SimpleItem, SimpleItem]

Using with Rails

If you're using consummo with rails, you'll probably want to create ActiveRecord backed objects for:

  • FeedItem
  • Feed

When producing and consuming FeedItems you'll probably want to persist them to a datastore when producing and/or consuming.

The Consummo Domain


A Feed is a simple data structure that represents a URI feed. It has a uri attribute.

Feed Items

A Feed Item represents a singular piece of content produced from a Feed. It has attributes like title and url.


An Item Producer takes a list of Feeds along with a Fetcher and fetches items from the feed.


An Item Consumer takes unenriched Feed Items and passes them through Item Enrichers.

Item Enricher

An Item Enricher enriches the details and data from a Feed Item. For example, the FacebookLikeEnricher will determine the number of Facebook Likes for a particular Feed Item (using the item's url) and add that attribute to the Feed Item.

The intent of Item Enrichers is that they are extensible and easy to implement such that multiple custom enrichments are possible.

Existing Enrichers


Name Description Class
Facebook Likes Enriches the item with the current number of Facebook likes based on the items's URI FacebookLikeEnricher
Readability Enriches the item with the Flesch–Kincaid readability test score ReadabilityEnricher
URL Enriches the item with the true final URI by following all redirects UrlEnricher
Keyword Hint Enriches the item by wrapping any discovered keywords (passed in to the enrichment) with <strong> tags KeywordHintEnricher

In Need of Updates

Name Description Class Needs
Twitter Shares Enriches the item with the current number of twitter shares TwitterShareEnricher Update to work with the Twitter v1.1 API

Custom Enrichment

Enrichers follow a very simple interface:

  class SimpleEnricher
    def enrich(item)
      { "simple" => "enrichment" }

An Enricher should be able to enrich something that looks like an item (SimpleItem) and return a hash of key/value pairs.


Add this line to your application's Gemfile:

gem 'consummo'

And then execute:

$ bundle

Or install it yourself as:

$ gem install consummo


After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to


Bug reports and pull requests are welcome on GitHub at


The gem is available as open source under the terms of the MIT License.


Consummo is an engine for consuming, enriching and producing pieces of content from RSS feeds.




No packages published