Skip to content
Twilio API client
Ruby
Find file
Latest commit 81c0579 Jan 11, 2013 @philm philm bumped version
Failed to load latest commit information.
lib bumped version Jan 11, 2013
spec
.gitignore
CHANGELOG.rdoc bumped version Jan 12, 2013
Gemfile
LICENSE content tweak Jan 11, 2013
README.rdoc
Rakefile
twilio.gemspec bumped up rspec; cleaned up specs Jan 11, 2013

README.rdoc

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.

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

gem install twilio

Contributing

  1. Run 'bundle' from the command line to install dependencies

  2. Write test(s) for your patch

  3. Submit a pull request

Note: don't require 'rubygems' in any file (www.rubyinside.com/why-using-require-rubygems-is-wrong-1478.html)

Testing

  • Currently using RSpec

  • Tested with REE 1.8.7, MRI 1.9.2, MRI 1.9.3, and JRuby 1.6.5

Copyright

Copyright Phil Misiowiec, Webficient LLC. See LICENSE for details.

Contributors

  • Kyle Daigle

  • Yuri Gadow

  • Kyle Humberto

  • Vlad Moskovets

  • Jonathan Rudenberg

  • Mark Turner

  • Jeff Wigal

  • Alex K Wolfe

Something went wrong with that request. Please try again.