Twilio Gem

The Twilio gem provides two major pieces of functionality: (1) a Ruby wrapper for the Twilio REST API and (2) response handlers based on the Twilio Markup XML (TwiML).

See www.twilio.com/docs/index for Twilio’s API documentation.

For an overview of the Twilio Gem and a sample use case, check out our cached blog entry: webcache.googleusercontent.com/search?q=cache:AejgwBra3fMJ:www.webficient.com/2009/06/22/hello-this-is-your-rails-app-calling-you+site:http://www.webficient.com/2009/06/22/hello-this-is-your-rails-app-calling-you&hl=en&gl=us&strip=1

Calling the Twilio REST API

First set your credentials by calling the connect method:

Twilio.connect('my_twilio_sid', 'my_auth_token')

Now call any of the Twilio classes:

Twilio::Call.make('1234567890', '9876543210', 'http://mysite.com/connected_call')
Twilio::Recording.list

Responding to Twilio

When Twilio calls your application URL, your response must use the Twilio Markup XML (www.twilio.com/docs/api_reference/TwiML/). The Twilio gem makes this very easy by providing a Twilio Verb class.

For example, in a Ruby on Rails application, you could do the following inside a controller class:

Twilio::Verb.dial '415-123-4567'

and you can nest multiple verbs inside a block:

verb = Twilio::Verb.new { |v|
  v.say "The time is #{Time.now}"
  v.hangup
}
verb.response

Installation

sudo gem install twilio -s http://gemcutter.org

If you need to tweak the source code, clone this repository and do a rake build and rake install.

Copyright © 2009-2010 Phil Misiowiec, Webficient LLC. See LICENSE for details.

Contributors

Kyle Daigle, Yuri Gadow, Jonathan Rudenberg, Jeff Wigal, Alex K Wolfe