12 Ruby Mashup Resources

John Musser
May. 07 2007, 12:07AM EDT

Want to build a mashup using Ruby? To help you get started we've rounded-up a dozen Ruby libraries for open web APIs that can help you get a head start. Most of these are Ruby wrappers -- often as gems -- that simplify coding for specific APIs and sometimes across APIs.

  • YouTube API Wrapper: A Ruby object-oriented interface to the YouTube REST API.
  • rflickr: rflickr is a Ruby implementation of the Flickr API. It includes a faithful reproduction of the published API as well as method encapsulation to provide more useful object mappings. rflickr features result caching to improve performance.
  • Ruby Gem for AdWords: The Ruby client library for the AdWords API makes it easier to write Ruby clients to programmatically access AdWords accounts. The client library is provided as a gem, or can be installed independently. This open source project also contains sample code in Ruby demonstrating how to use the most useful services from the AdWords API.
  • Ruby Gem for Geonames: Wrapper for the Geonames API. This web service contains over eight million geographical names and consists of 6.3 million unique features whereof 2.2 million populated places and 1.8 million alternate names.
  • ActiveSalesforce: A Rails connection adapter that provides direct access to the Salesforce.com API via the ActiveRecord model layer. Objects, fields, and relationships are all auto surfaced as active record attributes and rels.
  • Backpack Ruby Wrapper: Class library for the 37signals Backpack API.
  • AWS::S3: A Ruby Library for Amazon's Simple Storage Service S3 REST API.
  • Geokit for Rails: "Geokit is a Rails plugin for building location-based apps. It provides geocoding, location finders, and distance calculation in one cohesive package. If you have any tables with latitude-longitude columns in your database, or if you every wanted to easily query for "all the stores within a 50 mile radius," then GeoKit is for you." t currently supports Google, Yahoo, Geocoder.us, and Geocoder.ca geocoders, and it provides a uniform response structure from all of them. It also provides a fail-over mechanism, in case your input fails to geocode in one service.
  • Google Maps for Rails: Aims to facilitate the use of Google Maps from a Ruby on Rails application.
  • Yahoo! Video for Rails: yahoo-video provides an object-oriented interface written in Ruby to query Yahoo! Video for the latest video information.
  • Ruby for Amazon ECS: Wrapper for the Amazon E-commerce REST API using Hpricot. Supports ECS 4.0. With the help of generic wrapper classes makes it easier to retrieve element values from the XML output.
  • Amazon EC2 Library in Ruby: A library in Ruby for working with the Amazon EC2 Query interface.

If you know of other Ruby-related mashup resources, feel free to add them to the comments. We'll soon have a dedicated Ruby section on PW.

John Musser