Client libraries for Ruby/Rails?

Hope I'm asking a valid question, but I would like to provide a Ruby/ Rails client library for a web service I've created. I'm not a proficient Ruby/Rails developer so I'm not even certain the metaphor of "client library" applies.

I have programmatic familiarity with supplying the appropriate bits for Java, PHP, Microsoft, etc. I want to support Ruby/Rails development against our service, but am not quite sure what to provide or supply.

If someone could point me in the right direction (or to the right documentation), I'd be greatly appreciative.

cheers, jro

Hi Jeff

In the rails world, we talk about plugins. You could just google for 'rails plugins' .

Rails is a server application framework. Ruby is a general purpose scripting language. Rails is written in Ruby.

Your client library should provide an API to your service. It should be written in Ruby and packaged as a gem. Gems ( are the standard packaging system now. RubyForge ( is the place to host development of your client library. If you publish a gem at your RubyForge project, any Ruby installation can install it with a simple "gem install jeff-lib". There is quite a bit in the Ruby standard library and in 3rd party gems to support all kinds of networking and web service protocols, so you want to leverage those of course.

Rails plugins are a different beast. They are extensions to the Rails framework, to assist with development of Rails applications. You don't want to lock yourself into a plugin; however, if Rails server applications need to interact with your service as a client, you might have a plugin that provides some "glue" between Rails and your client lib gem.

Bob -

Thanks for your comments, this is super helpful. Are there any suggested gems worth looking at for guidance? Maybe a gem for working with Amazon web services, as an example?