dancroak-twilio 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. data/LICENSE +20 -0
  2. data/README.rdoc +39 -0
  3. data/Rakefile +49 -0
  4. data/VERSION.yml +4 -0
  5. data/lib/twilio.rb +42 -0
  6. data/lib/twilio/account.rb +12 -0
  7. data/lib/twilio/call.rb +33 -0
  8. data/lib/twilio/connection.rb +24 -0
  9. data/lib/twilio/incoming_phone_number.rb +16 -0
  10. data/lib/twilio/local_phone_number.rb +21 -0
  11. data/lib/twilio/notification.rb +20 -0
  12. data/lib/twilio/outgoing_caller_id.rb +32 -0
  13. data/lib/twilio/recording.rb +24 -0
  14. data/lib/twilio/toll_free_phone_number.rb +21 -0
  15. data/lib/twilio/twilio_object.rb +16 -0
  16. data/lib/twilio/verb.rb +315 -0
  17. data/test/fixtures/xml/account.xml +11 -0
  18. data/test/fixtures/xml/account_renamed.xml +11 -0
  19. data/test/fixtures/xml/call.xml +18 -0
  20. data/test/fixtures/xml/call_new.xml +14 -0
  21. data/test/fixtures/xml/calls.xml +36 -0
  22. data/test/fixtures/xml/incoming_phone_number.xml +12 -0
  23. data/test/fixtures/xml/incoming_phone_numbers.xml +24 -0
  24. data/test/fixtures/xml/notification.xml +19 -0
  25. data/test/fixtures/xml/notifications.xml +32 -0
  26. data/test/fixtures/xml/outgoing_caller_id.xml +10 -0
  27. data/test/fixtures/xml/outgoing_caller_id_new.xml +7 -0
  28. data/test/fixtures/xml/outgoing_caller_ids.xml +20 -0
  29. data/test/fixtures/xml/recording.xml +10 -0
  30. data/test/fixtures/xml/recordings.xml +20 -0
  31. data/test/fixtures/xml/transcription.xml +13 -0
  32. data/test/fixtures/xml/transcriptions.xml +26 -0
  33. data/test/fixtures/yml/verb_responses.yml +119 -0
  34. data/test/test_helper.rb +29 -0
  35. data/test/twilio/account_test.rb +35 -0
  36. data/test/twilio/call_test.rb +72 -0
  37. data/test/twilio/connection_test.rb +26 -0
  38. data/test/twilio/incoming_phone_number_test.rb +35 -0
  39. data/test/twilio/local_phone_number_test.rb +35 -0
  40. data/test/twilio/notification_test.rb +40 -0
  41. data/test/twilio/outgoing_caller_id_test.rb +51 -0
  42. data/test/twilio/recording_test.rb +53 -0
  43. data/test/twilio/toll_free_phone_number_test.rb +35 -0
  44. data/test/twilio/verb_test.rb +204 -0
  45. metadata +127 -0
@@ -0,0 +1,11 @@
1
+ <TwilioResponse>
2
+ <Account>
3
+ <Sid>mysid</Sid>
4
+ <FriendlyName>My Nice Twilio Account</FriendlyName>
5
+ <Status>2</Status>
6
+ <StatusText>Active</StatusText>
7
+ <DateCreated>Wed, 02 Apr 2008 17:33:38 -0700</DateCreated>
8
+ <DateUpdated>Wed, 02 Apr 2008 17:34:18 -0700</DateUpdated>
9
+ <AuthToken>mytoken</AuthToken>
10
+ </Account>
11
+ </TwilioResponse>
@@ -0,0 +1,11 @@
1
+ <TwilioResponse>
2
+ <Account>
3
+ <Sid>mysid</Sid>
4
+ <FriendlyName>Bubba</FriendlyName>
5
+ <Status>2</Status>
6
+ <StatusText>Active</StatusText>
7
+ <DateCreated>Wed, 02 Apr 2008 17:33:38 -0700</DateCreated>
8
+ <DateUpdated>Wed, 02 Apr 2008 17:34:18 -0700</DateUpdated>
9
+ <AuthToken>mytoken</AuthToken>
10
+ </Account>
11
+ </TwilioResponse>
@@ -0,0 +1,18 @@
1
+ <TwilioResponse>
2
+ <Call>
3
+ <Sid>CA42ed11f93dc08b952027ffbc406d0868</Sid>
4
+ <DateCreated>Sat, 07 Feb 2009 13:15:19 -0800</DateCreated>
5
+ <DateUpdated>Sat, 07 Feb 2009 13:15:19 -0800</DateUpdated>
6
+ <CallSegmentSid/>
7
+ <AccountSid>mysid</AccountSid>
8
+ <Called>4159633717</Called>
9
+ <Caller>4156767925</Caller>
10
+ <PhoneNumberSid>PN01234567890123456789012345678900</PhoneNumberSid>
11
+ <Status>2</Status>
12
+ <StartTime>Thu, 03 Apr 2008 04:36:33 -0400</StartTime>
13
+ <EndTime>Thu, 03 Apr 2008 04:36:47 -0400</EndTime>
14
+ <Duration>14</Duration>
15
+ <Price/>
16
+ <Flags>1</Flags>
17
+ </Call>
18
+ </TwilioResponse>
@@ -0,0 +1,14 @@
1
+ <TwilioResponse>
2
+ <Call>
3
+ <Sid>CA42ed11f93dc08b952027ffbc406d0868</Sid>
4
+ <CallSegmentSid/> <AccountSid>AC309475e5fede1b49e100272a8640f438</AccountSid>
5
+ <Called>4155551212</Called>
6
+ <Caller>4158675309</Caller>
7
+ <PhoneNumberSid>PN01234567890123456789012345678900</PhoneNumberSid>
8
+ <Status>0</Status>
9
+ <StartTime>Thu, 03 Apr 2008 04:36:33 -0400</StartTime>
10
+ <EndTime/>
11
+ <Price/>
12
+ <Flags>1</Flags>
13
+ </Call>
14
+ </TwilioResponse>
@@ -0,0 +1,36 @@
1
+ <TwilioResponse>
2
+ <Calls page="0" numpages="1" pagesize="50" total="38" start="0" end="37">
3
+ <Call>
4
+ <Sid>CA42ed11f93dc08b952027ffbc406d0868</Sid>
5
+ <DateCreated>Sat, 07 Feb 2009 13:15:19 -0800</DateCreated>
6
+ <DateUpdated>Sat, 07 Feb 2009 13:15:19 -0800</DateUpdated>
7
+ <CallSegmentSid/>
8
+ <AccountSid>mysid</AccountSid>
9
+ <Called>4159633717</Called>
10
+ <Caller>4156767925</Caller>
11
+ <PhoneNumberSid>PN01234567890123456789012345678900</PhoneNumberSid>
12
+ <Status>2</Status>
13
+ <StartTime>Thu, 03 Apr 2008 04:36:33 -0400</StartTime>
14
+ <EndTime>Thu, 03 Apr 2008 04:36:47 -0400</EndTime>
15
+ <Duration>14</Duration>
16
+ <Price/>
17
+ <Flags>1</Flags>
18
+ </Call>
19
+ <Call>
20
+ <Sid>CA751e8fa0a0105cf26a0d7a9775fb4bfb</Sid>
21
+ <DateCreated>Sat, 07 Feb 2009 13:15:19 -0800</DateCreated>
22
+ <DateUpdated>Sat, 07 Feb 2009 13:15:19 -0800</DateUpdated>
23
+ <CallSegmentSid/>
24
+ <AccountSid>mysid</AccountSid>
25
+ <Called>2064287985</Called>
26
+ <Caller>4156767925</Caller>
27
+ <PhoneNumberSid>PNd59c2ba27ef48264773edb90476d1674</PhoneNumberSid>
28
+ <Status>2</Status>
29
+ <StartTime>Thu, 03 Apr 2008 01:37:05 -0400</StartTime>
30
+ <EndTime>Thu, 03 Apr 2008 01:37:40 -0400</EndTime>
31
+ <Duration>35</Duration>
32
+ <Price/>
33
+ <Flags>1</Flags>
34
+ </Call>
35
+ </Calls>
36
+ </TwilioResponse>
@@ -0,0 +1,12 @@
1
+ <TwilioResponse>
2
+ <IncomingPhoneNumber>
3
+ <Sid>PNe536dfda7c6184afab78d980cb8cdf43</Sid>
4
+ <AccountSid>mysid</AccountSid>
5
+ <FriendlyName>My Home Phone Number</FriendlyName>
6
+ <PhoneNumber>4158675309</PhoneNumber>
7
+ <Url>http://mycompany.com/handleMainLineCall.asp</Url>
8
+ <Method>GET</Method>
9
+ <DateCreated>Tue, 01 Apr 2008 11:26:32 -0700</DateCreated>
10
+ <DateUpdated>Tue, 01 Apr 2008 11:26:32 -0700</DateUpdated>
11
+ </IncomingPhoneNumber>
12
+ </TwilioResponse>
@@ -0,0 +1,24 @@
1
+ <TwilioResponse>
2
+ <IncomingPhoneNumbers page="0" numpages="1" pagesize="50" total="2" start="0" end="0">
3
+ <IncomingPhoneNumber>
4
+ <Sid>PNe536dfda7c6184afab78d980cb8cdf43</Sid>
5
+ <AccountSid>mysid</AccountSid>
6
+ <FriendlyName>Company Main Line</FriendlyName>
7
+ <PhoneNumber>4158675309</PhoneNumber>
8
+ <Url>http://mycompany.com/handleMainLineCall.asp</Url>
9
+ <Method>GET</Method>
10
+ <DateCreated>Tue, 01 Apr 2008 11:26:32 -0700</DateCreated>
11
+ <DateUpdated>Tue, 01 Apr 2008 11:26:32 -0700</DateUpdated>
12
+ </IncomingPhoneNumber>
13
+ <IncomingPhoneNumber>
14
+ <Sid>PNe536dfda7c6DDd455fed980cb83345FF</Sid>
15
+ <AccountSid>mysid</AccountSid>
16
+ <FriendlyName>Company Support Line</FriendlyName>
17
+ <PhoneNumber>4158675310</PhoneNumber>
18
+ <Url>http://mycompany.com/handleSupportCall.php</Url>
19
+ <Method>POST</Method>
20
+ <DateCreated>Tue, 01 Apr 2008 11:26:32 -0700</DateCreated>
21
+ <DateUpdated>Tue, 01 Apr 2008 11:26:32 -0700</DateUpdated>
22
+ </IncomingPhoneNumber>
23
+ </IncomingPhoneNumbers>
24
+ </TwilioResponse>
@@ -0,0 +1,19 @@
1
+ <TwilioResponse>
2
+ <Notification>
3
+ <Sid>NO1fb7086ceb85caed2265f17d7bf7981c</Sid>
4
+ <DateCreated>Sat, 07 Feb 2009 13:15:19 -0800</DateCreated>
5
+ <DateUpdated>Sat, 07 Feb 2009 13:15:19 -0800</DateUpdated>
6
+ <AccountSid>mysid</AccountSid>
7
+ <CallSid>CA42ed11f93dc08b952027ffbc406d0868</CallSid>
8
+ <Log>0</Log>
9
+ <ErrorCode>12345</ErrorCode>
10
+ <MoreInfo>http://www.twilio.com/docs/errors/12345</MoreInfo>
11
+ <MessageText>Unable to parse XML response</MessageText>
12
+ <MessageDate>Thu, 03 Apr 2008 04:36:32 -0400</MessageDate>
13
+ <RequestURL>http://yourserver.com/handleCall.php</RequestURL>
14
+ <RequestMethod>POST</RequestMethod>
15
+ <RequestVariables>Caller=4158675309&Called=4155551212...</RequestVariables>
16
+ <ResponseHeaders>Content-Length: 500</ResponseHeaders>
17
+ <ResponseBody>&lt;h1&gt;Error parsing PHP script&lt;/h1&gt;</ResponseBody>
18
+ </Notification>
19
+ </TwilioResponse>
@@ -0,0 +1,32 @@
1
+ <TwilioResponse>
2
+ <Notifications page="0" numpages="10" pagesize="50" total="498" start="0" end="49">
3
+ <Notification>
4
+ <Sid>NO1fb7086ceb85caed2265f17d7bf7981c</Sid>
5
+ <DateCreated>Sat, 07 Feb 2009 13:15:19 -0800</DateCreated>
6
+ <DateUpdated>Sat, 07 Feb 2009 13:15:19 -0800</DateUpdated>
7
+ <AccountSid>mysid</AccountSid>
8
+ <CallSid>CA42ed11f93dc08b952027ffbc406d0868</CallSid>
9
+ <Log>0</Log>
10
+ <ErrorCode>12345</ErrorCode>
11
+ <MoreInfo>http://www.twilio.com/docs/errors/12345</MoreInfo>
12
+ <RequestURL>http://yourserver.com/handleCall.php</RequestURL>
13
+ <RequestMethod>POST</RequestMethod>
14
+ <MessageText>Unable to parse XML response</MessageText>
15
+ <MessageDate>Thu, 03 Apr 2008 04:36:32 -0400</MessageDate>
16
+ </Notification>
17
+ <Notification>
18
+ <Sid>NOe936fdac57d238e56fd346b89820d342</Sid>
19
+ <DateCreated>Sat, 07 Feb 2009 13:15:19 -0800</DateCreated>
20
+ <DateUpdated>Sat, 07 Feb 2009 13:15:19 -0800</DateUpdated>
21
+ <AccountSid>mysid</AccountSid>
22
+ <CallSid></CallSid>
23
+ <Log>1</Log>
24
+ <ErrorCode>67890</ErrorCode>
25
+ <MoreInfo>http://www.twilio.com/docs/errors/67890</MoreInfo>
26
+ <RequestURL>http://api.twilio.com/2008-08-01/Accounts/AC309475e5fede1b49e100272a8640f438/Calls</RequestURL>
27
+ <RequestMethod>POST</RequestMethod>
28
+ <MessageText>Unknown parameter received by the REST API: foo=bar</MessageText>
29
+ <MessageDate>Thu, 03 Apr 2008 04:36:32 -0400</MessageDate>
30
+ </Notification>
31
+ </Notifications>
32
+ </TwilioResponse>
@@ -0,0 +1,10 @@
1
+ <TwilioResponse>
2
+ <OutgoingCallerId>
3
+ <Sid>PNe536dfda7c6184afab78d980cb8cdf43</Sid>
4
+ <AccountSid>mysid</AccountSid>
5
+ <FriendlyName>My Home Phone Number</FriendlyName>
6
+ <PhoneNumber>4158675309</PhoneNumber>
7
+ <DateCreated>Tue, 01 Apr 2008 11:26:32 -0700</DateCreated>
8
+ <DateUpdated>Tue, 01 Apr 2008 11:26:32 -0700</DateUpdated>
9
+ </OutgoingCallerId>
10
+ </TwilioResponse>
@@ -0,0 +1,7 @@
1
+ <TwilioResponse>
2
+ <ValidationRequest>
3
+ <AccountSid>mysid</AccountSid>
4
+ <PhoneNumber>4158675309</PhoneNumber>
5
+ <ValidationCode>123456</ValidationCode>
6
+ </ValidationRequest>
7
+ </TwilioResponse>
@@ -0,0 +1,20 @@
1
+ <TwilioResponse>
2
+ <OutgoingCallerIds page="0" numpages="1" pagesize="50" total="2" start="0" end="0">
3
+ <OutgoingCallerId>
4
+ <Sid>PNe536dfda7c6184afab78d980cb8cdf43</Sid>
5
+ <AccountSid>mysid</AccountSid>
6
+ <FriendlyName>Bob Cell Phone</FriendlyName>
7
+ <PhoneNumber>4158675309</PhoneNumber>
8
+ <DateCreated>Tue, 01 Apr 2008 11:26:32 -0700</DateCreated>
9
+ <DateUpdated>Tue, 01 Apr 2008 11:26:32 -0700</DateUpdated>
10
+ </OutgoingCallerId>
11
+ <OutgoingCallerId>
12
+ <Sid>PNe536dfda7c6DDd455fed980cb83345FF</Sid>
13
+ <AccountSid>mysid</AccountSid>
14
+ <FriendlyName>Company Main Line</FriendlyName>
15
+ <PhoneNumber>4158675310</PhoneNumber>
16
+ <DateCreated>Tue, 01 Apr 2008 11:26:32 -0700</DateCreated>
17
+ <DateUpdated>Tue, 01 Apr 2008 11:26:32 -0700</DateUpdated>
18
+ </OutgoingCallerId>
19
+ </OutgoingCallerIds>
20
+ </TwilioResponse>
@@ -0,0 +1,10 @@
1
+ <TwilioResponse>
2
+ <Recording>
3
+ <Sid>RE41331862605f3d662488fdafda2e175f</Sid>
4
+ <AccountSid>mysid</AccountSid>
5
+ <CallSid>CAcd420fcb3c4b86e360ea0cc27ebc8698</CallSid>
6
+ <Duration>15</Duration>
7
+ <DateCreated>Tue, 01 Apr 2008 01:07:15 -0400</DateCreated>
8
+ <DateUpdated>Tue, 01 Apr 2008 01:07:15 -0400</DateUpdated>
9
+ </Recording>
10
+ </TwilioResponse>
@@ -0,0 +1,20 @@
1
+ <TwilioResponse>
2
+ <Recordings page="0" numpages="1" pagesize="50" total="16" start="0" end="15">
3
+ <Recording>
4
+ <Sid>RE41331862605f3d662488fdafda2e175f</Sid>
5
+ <AccountSid>mysid</AccountSid>
6
+ <CallSid>CAcd420fcb3c4b86e360ea0cc27ebc8698</CallSid>
7
+ <Duration>123</Duration>
8
+ <DateCreated>Tue, 01 Apr 2008 01:07:15 -0400</DateCreated>
9
+ <DateUpdated>Tue, 01 Apr 2008 01:07:15 -0400</DateUpdated>
10
+ </Recording>
11
+ <Recording>
12
+ <Sid>RE50358f2565ad3c542e004161c3aecfd2</Sid>
13
+ <AccountSid>mysid</AccountSid>
14
+ <CallSid>CAcd420fcb3c4b86e360ea0cc27ebc8698</CallSid>
15
+ <Duration>45</Duration>
16
+ <DateCreated>Tue, 01 Apr 2008 01:07:10 -0400</DateCreated>
17
+ <DateUpdated>Tue, 01 Apr 2008 01:07:10 -0400</DateUpdated>
18
+ </Recording>
19
+ </Recordings>
20
+ </TwilioResponse>
@@ -0,0 +1,13 @@
1
+ <TwilioResponse>
2
+ <Transcription>
3
+ <Sid>TRbdece5b75f2cd8f6ef38e0a10f5c4447</Sid>
4
+ <DateCreated>1235986685</DateCreated>
5
+ <DateUpdated>1235957924</DateUpdated>
6
+ <AccountSid>mysid</AccountSid>
7
+ <Status>completed</Status>
8
+ <RecordingSid>RE3870404da563592ef6a72136438a879c</RecordingSid>
9
+ <Duration>9</Duration>
10
+ <TranscriptionText>This is the body a transcribed recording</TranscriptionText>
11
+ <Price>-0.03000</Price>
12
+ </Transcription>
13
+ </TwilioResponse>
@@ -0,0 +1,26 @@
1
+ <TwilioResponse>
2
+ <Transcriptions page="0" numpages="1" pagesize="50" total="2" start="0" end="1">
3
+ <Transcription>
4
+ <Sid>TR685e9a2bdf89b978491b1afada63f078</Sid>
5
+ <DateCreated>1235986685</DateCreated>
6
+ <DateUpdated>1235957975</DateUpdated>
7
+ <AccountSid>mysid</AccountSid>
8
+ <Status>completed</Status>
9
+ <RecordingSid>RE3870404da563592ef6a72136438a879c</RecordingSid>
10
+ <Duration>9</Duration>
11
+ <TranscriptionText>This is the body of one transcribed recording</TranscriptionText>
12
+ <Price>-0.25000</Price>
13
+ </Transcription>
14
+ <Transcription>
15
+ <Sid>TRbdece5b75f2cd8f6ef38e0a10f5c4447</Sid>
16
+ <DateCreated>1235986685</DateCreated>
17
+ <DateUpdated>1235957924</DateUpdated>
18
+ <AccountSid>mysid</AccountSid>
19
+ <Status>completed</Status>
20
+ <RecordingSid>RE3870404da563592ef6a72136438a879c</RecordingSid>
21
+ <Duration>9</Duration>
22
+ <TranscriptionText>This is the body of another transcribed recording</TranscriptionText>
23
+ <Price>-0.03000</Price>
24
+ </Transcription>
25
+ </Transcriptions>
26
+ </TwilioResponse>
@@ -0,0 +1,119 @@
1
+ say_hi:
2
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Say loop="1" language="en" voice="man">hi</Say></Response>
3
+
4
+ say_hi_with_female_voice:
5
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Say loop="1" language="en" voice="woman">hi</Say></Response>
6
+
7
+ say_hi_in_spanish_with_female_voice:
8
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Say loop="1" language="es" voice="woman">hola</Say></Response>
9
+
10
+ say_hi_three_times:
11
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Say loop="3" language="en" voice="man">hi</Say></Response>
12
+
13
+ say_hi_three_times_with_pause:
14
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Say language="en" voice="man">hi</Say><Pause/><Say language="en" voice="man">hi</Say><Pause/><Say language="en" voice="man">hi</Say></Response>
15
+
16
+ say_hi_with_pause:
17
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Say loop="1" language="en" voice="man">hi</Say><Pause/></Response>
18
+
19
+ say_hi_with_pause_and_say_bye:
20
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Say loop="1" language="en" voice="man">hi</Say><Pause></Pause><Say loop="1" language="en" voice="man">bye</Say></Response>
21
+
22
+ say_hi_with_2_second_pause_and_say_bye:
23
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Say loop="1" language="en" voice="man">hi</Say><Pause length="2"/><Say loop="1" language="en" voice="man">bye</Say></Response>
24
+
25
+ say_hi_and_hangup:
26
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Say loop="1" language="en" voice="man">hi</Say><Hangup/></Response>
27
+
28
+ play_mp3:
29
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Play loop="1">http://foo.com/cowbell.mp3</Play></Response>
30
+
31
+ play_mp3_two_times:
32
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Play loop="2">http://foo.com/cowbell.mp3</Play></Response>
33
+
34
+ play_mp3_two_times_with_pause:
35
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Play>http://foo.com/cowbell.mp3</Play><Pause/><Play>http://foo.com/cowbell.mp3</Play></Response>
36
+
37
+ gather:
38
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather/></Response>
39
+
40
+ gather_with_action:
41
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather action="http://foobar.com"/></Response>
42
+
43
+ gather_with_get_method:
44
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather method="GET"/></Response>
45
+
46
+ gather_with_timeout:
47
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather timeout="10"/></Response>
48
+
49
+ gather_with_finish_key:
50
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather finishOnKey="*"/></Response>
51
+
52
+ gather_with_num_digits:
53
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather numDigits="5"/></Response>
54
+
55
+ gather_with_all_options_set:
56
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather finishOnKey="*" action="http://foobar.com" method="GET" numDigits="5" timeout="10"/></Response>
57
+
58
+ gather_and_say_instructions:
59
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather><Say loop="1" language="en" voice="man">Please enter your account number followed by the pound sign</Say></Gather><Say loop="1" language="en" voice="man">We didn't receive any input. Goodbye!</Say></Response>
60
+
61
+ gather_with_timeout_and_say_instructions:
62
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather timeout="10"><Say loop="1" language="en" voice="man">Please enter your account number followed by the pound sign</Say></Gather><Say loop="1" language="en" voice="man">We didn't receive any input. Goodbye!</Say></Response>
63
+
64
+ record:
65
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Record></Record></Response>
66
+
67
+ record_with_action:
68
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Record action="http://foobar.com"/></Response>
69
+
70
+ record_with_get_method:
71
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Record method="GET"/></Response>
72
+
73
+ record_with_timeout:
74
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Record timeout="10"/></Response>
75
+
76
+ record_with_finish_key:
77
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Record finishOnKey="*"/></Response>
78
+
79
+ record_with_max_length:
80
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Record maxLength="1800"/></Response>
81
+
82
+ record_with_transcribe:
83
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Record transcribe="true" transcribeCallback="/handle_transcribe"/></Response>
84
+
85
+ dial:
86
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Dial>415-123-4567</Dial></Response>
87
+
88
+ dial_with_action:
89
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Dial action="http://foobar.com">415-123-4567</Dial></Response>
90
+
91
+ dial_with_get_method:
92
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Dial method="GET">415-123-4567</Dial></Response>
93
+
94
+ dial_with_timeout:
95
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Dial timeout="10">415-123-4567</Dial></Response>
96
+
97
+ dial_with_hangup_on_star:
98
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Dial hangupOnStar="true">415-123-4567</Dial></Response>
99
+
100
+ dial_with_time_limit:
101
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Dial timeLimit="3600">415-123-4567</Dial></Response>
102
+
103
+ dial_with_caller_id:
104
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Dial callerId="858-987-6543">415-123-4567</Dial></Response>
105
+
106
+ dial_with_timeout_and_caller_id:
107
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Dial callerId="858-987-6543" timeout="10">415-123-4567</Dial></Response>
108
+
109
+ dial_with_redirect:
110
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Dial>415-123-4567</Dial><Redirect>http://www.foo.com/nextInstructions</Redirect></Response>
111
+
112
+ dial_with_number_and_send_digits:
113
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Dial><Number sendDigits="wwww1928">415-123-4567</Number></Dial></Response>
114
+
115
+ dial_multiple_numbers:
116
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Dial><Number>415-123-4567</Number><Number>415-123-4568</Number><Number>415-123-4569</Number></Dial></Response>
117
+
118
+ hangup:
119
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Hangup/></Response>
@@ -0,0 +1,29 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'fakeweb'
4
+ require 'shoulda'
5
+ require 'matchy'
6
+ require 'yaml'
7
+
8
+ FakeWeb.allow_net_connect = false
9
+
10
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
11
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
12
+ require 'twilio'
13
+
14
+ class Test::Unit::TestCase #:nodoc: all
15
+ end
16
+
17
+ def fixture(filename) #:nodoc:
18
+ path = File.join(File.dirname(__FILE__), "fixtures/xml/#{filename}.xml")
19
+ File.read path
20
+ end
21
+
22
+ def twilio_url(url=nil) #:nodoc:
23
+ "https://mysid:mytoken@api.twilio.com:443/2008-08-01/Accounts/mysid#{'/' + url if url}"
24
+ end
25
+
26
+ def verb_response(verb) #:nodoc:
27
+ path = File.join(File.dirname(__FILE__), "fixtures/yml/verb_responses.yml")
28
+ YAML.load_file(path)[verb.to_s]['response']
29
+ end