RubySMS is a Ruby library (not a framework, although it’s coming dangerously close) which aims to make developing and deploying SMS applications easy. The sending and receiving of “real” SMS is handled by RubyGSM, but RubySMS also provides a couple of ways to interact with “mock” SMS via a web interface (the HTTP Backend) and GTK GUI (the DRB backend).
RubySMS was initially developed in Malawi by The UNICEF Innovation Team and a group from Columbia University’s SIPA as the technical foundation of the RapidSMS Child Malnutrition Survelliance (see the source code) entry to the USAID Development 2.0 Challenge… which we won.
Sample Application
require "rubygems"
require "rubysms"
class DemoApp < SMS::App
def incoming(msg)
msg.respond("Wow, that was easy!")
end
end
DemoApp.serve!
Installing
RubySMS is distributed via GitHub, which you must add as a Gem source before installing:
$ sudo gem sources -a http://gems.github.com
Then install the Gem, which will automatically pull in the dependencies:
$ sudo gem install adammck-rubysms
Dependencies
If you’d prefer to run RubySMS from the trunk, you’ll need to install the following Gems manually (otherwise, the HTTP backend will explode on startup. Remind me to fix that some time).
$ sudo gem install rack mongrel
If you’d like to send real SMS via a GSM modem, you’ll also need RubyGSM:
$ sudo gem install adammck-rubygsm