webficient-twilio 1.4.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :minor: 4
2
+ :minor: 0
3
3
  :patch: 0
4
- :major: 1
4
+ :major: 2
data/lib/twilio/verb.rb CHANGED
@@ -1,186 +1,171 @@
1
1
  module Twilio
2
2
  # Twilio Verbs enable your application to respond to Twilio requests (to your app) with XML responses.
3
- #
4
- # In addition to the 5 verbs supported by Twilio (say, play, gather, record, dial),
5
- # this class also implements dynamic interfaces that allow you to combine useful
6
- # operations into a single call. See below methods for examples.
3
+ # There are 5 primary verbs (say, play, gather, record, dial) and 3 secondary (hangup, pause, redirect).
7
4
  class Verb
8
- class << self
9
- # The Say verb converts text to speech that is read back to the caller.
10
- # Say is useful for dynamic text that is difficult to prerecord.
11
- #
12
- # Examples:
13
- # Twilio::Verb.say('The time is 9:35 PM.')
14
- # Twilio::Verb.say_3_times('The time is 9:35 PM.')
15
- #
16
- # With numbers, 12345 will be spoken as "twelve thousand three hundred forty five" while
17
- # 1 2 3 4 5 will be spoken as "one two three four five."
18
- #
19
- # Twilio::Verb.say_4_times('Your PIN is 1234')
20
- # Twilio::Verb.say_4_times('Your PIN is 1 2 3 4')
21
- #
22
- # If you need a longer pause between each loop, use the pause form:
23
- #
24
- # Twilio::Verb.say_4_times_with_pause('Your PIN is 1 2 3 4')
25
- #
26
- # Options (see http://www.twilio.com/docs/api_reference/TwiML/say) are passed in as a hash:
27
- #
28
- # Twilio::Verb.say('The time is 9:35 PM.', :voice => 'woman')
29
- # Twilio::Verb.say('The time is 9:35 PM.', {:voice => 'woman', :language => 'es'})
30
- def say(*args, &block)
31
- options = {:voice => 'man', :language => 'en', :loop => 1}
32
- args.each do |arg|
33
- case arg
34
- when String
35
- options[:text_to_speak] = arg
36
- when Hash
37
- options.merge!(arg)
38
- else
39
- raise ArgumentError, 'say expects String or Hash argument'
40
- end
41
- end
42
5
 
43
- xml = Builder::XmlMarkup.new
44
- xml.instruct!
45
- xml.Response {
46
- if options[:pause]
47
- loop_with_pause(options[:loop], xml) do
48
- xml.Say(options[:text_to_speak], :voice => options[:voice], :language => options[:language])
49
- end
50
- else
51
- xml.Say(options[:text_to_speak], :voice => options[:voice], :language => options[:language], :loop => options[:loop])
52
- end
53
- }
54
- end
6
+ def initialize(&block)
7
+ @xml = Builder::XmlMarkup.new
8
+ @xml.instruct!
55
9
 
56
- # The Play verb plays an audio URL back to the caller.
57
- # Examples:
58
- # Twilio::Verb.play('http://foo.com/cowbell.mp3')
59
- # Twilio::Verb.play_3_times('http://foo.com/cowbell.mp3')
60
- #
61
- # If you need a longer pause between each loop, use the pause form:
62
- #
63
- # Twilio::Verb.play_3_times_with_pause('http://foo.com/cowbell.mp3')
64
- #
65
- # Options (see http://www.twilio.com/docs/api_reference/TwiML/play) are passed in as a hash,
66
- # however, since the Play verb only supports 'loop' as the current option, you can instead use the
67
- # above form to keep things concise.
68
- def play(*args, &block)
69
- options = {:loop => 1}
70
- args.each do |arg|
71
- case arg
72
- when String
73
- options[:audio_url] = arg
74
- when Hash
75
- options.merge!(arg)
76
- else
77
- raise ArgumentError, 'play expects String or Hash argument'
78
- end
10
+ block.call(self) if block_given?
11
+ end
12
+
13
+ # The Say verb converts text to speech that is read back to the caller.
14
+ # Say is useful for dynamic text that is difficult to prerecord.
15
+ #
16
+ # Examples:
17
+ # Twilio::Verb.new.say('The time is 9:35 PM.')
18
+ # Twilio::Verb.new.say('The time is 9:35 PM.', :loop => 3)
19
+ #
20
+ # With numbers, 12345 will be spoken as "twelve thousand three hundred forty five" while
21
+ # 1 2 3 4 5 will be spoken as "one two three four five."
22
+ #
23
+ # Twilio::Verb.new.say('Your PIN is 1234', :loop => 4)
24
+ # Twilio::Verb.new.say('Your PIN is 1 2 3 4', :loop => 4)
25
+ #
26
+ # If you need a longer pause between each loop, set the pause option:
27
+ #
28
+ # Twilio::Verb.new.say('Your PIN is 1 2 3 4', :loop => 4, :pause => true)
29
+ #
30
+ # Options (see http://www.twilio.com/docs/api_reference/TwiML/say) are passed in as a hash:
31
+ #
32
+ # Twilio::Verb.new.say('The time is 9:35 PM.', :voice => 'woman')
33
+ # Twilio::Verb.new.say('The time is 9:35 PM.', {:voice => 'woman', :language => 'es'})
34
+ def say(*args, &block)
35
+ options = {:voice => 'man', :language => 'en', :loop => 1}
36
+ args.each do |arg|
37
+ case arg
38
+ when String
39
+ options[:text_to_speak] = arg
40
+ when Hash
41
+ options.merge!(arg)
42
+ else
43
+ raise ArgumentError, 'say expects String or Hash argument'
79
44
  end
80
-
81
- xml = Builder::XmlMarkup.new
82
- xml.instruct!
83
- xml.Response {
84
- if options[:pause]
85
- loop_with_pause(options[:loop], xml) do
86
- xml.Play(options[:audio_url])
87
- end
88
- else
89
- xml.Play(options[:audio_url], :loop => options[:loop])
90
- end
91
- }
92
- end
93
-
94
- # The Gather verb collects digits entered by a caller into their telephone keypad.
95
- # When the caller is done entering data, Twilio submits that data to a provided URL,
96
- # as either a HTTP GET or POST request, just like a web browser submits data from an HTML form.
97
- #
98
- # Options (see http://www.twilio.com/docs/api_reference/TwiML/gather) are passed in as a hash
99
- #
100
- # Examples:
101
- # Twilio::Verb.gather
102
- # Twilio::Verb.gather(:action => 'http://foobar.com')
103
- # Twilio::Verb.gather(:finishOnKey => '*')
104
- # Twilio::Verb.gather(:action => 'http://foobar.com', :finishOnKey => '*')
105
- def gather(*args, &block)
106
- options = args.shift
107
- xml = Builder::XmlMarkup.new
108
- xml.instruct!
109
- xml.Response { xml.Gather(options) }
110
45
  end
111
46
 
112
- # The Record verb records the caller's voice and returns a URL that links to a file
113
- # containing the audio recording.
114
- #
115
- # Options (see http://www.twilio.com/docs/api_reference/TwiML/record) are passed in as a hash
116
- #
117
- # Examples:
118
- # Twilio::Verb.record
119
- # Twilio::Verb.record(:action => 'http://foobar.com')
120
- # Twilio::Verb.record(:finishOnKey => '*')
121
- # Twilio::Verb.record(:transcribe => true, :transcribeCallback => '/handle_transcribe')
122
- def record(*args, &block)
123
- options = args.shift
124
- xml = Builder::XmlMarkup.new
125
- xml.instruct!
126
- xml.Response { xml.Record(options) }
127
- end
128
-
129
- # The Dial verb connects the current caller to an another phone. If the called party picks up,
130
- # the two parties are connected and can communicate until one hangs up. If the called party does
131
- # not pick up, if a busy signal is received, or the number doesn't exist, the dial verb will finish.
132
- #
133
- # If an action verb is provided, Twilio will submit the outcome of the call attempt to the action URL.
134
- # If no action is provided, Dial will fall through to the next verb in the document.
135
- #
136
- # Note: this is different than the behavior of Record and Gather. Dial does not submit back to the
137
- # current document URL if no action is provided.
138
- #
139
- # Options (see http://www.twilio.com/docs/api_reference/TwiML/dial) are passed in as a hash
140
- #
141
- # Examples:
142
- # Twilio::Verb.dial('415-123-4567')
143
- # Twilio::Verb.dial('415-123-4567', :action => 'http://foobar.com')
144
- # Twilio::Verb.dial('415-123-4567', {:timeout => 10, :callerId => '858-987-6543'})
145
- def dial(*args, &block)
146
- number_to_dial = ''
147
- options = {}
148
- args.each do |arg|
149
- case arg
150
- when String
151
- number_to_dial = arg
152
- when Hash
153
- options.merge!(arg)
154
- else
155
- raise ArgumentError, 'dial expects String or Hash argument'
47
+ response {
48
+ if options[:pause]
49
+ loop_with_pause(options[:loop], @xml) do
50
+ @xml.Say(options[:text_to_speak], :voice => options[:voice], :language => options[:language])
156
51
  end
52
+ else
53
+ @xml.Say(options[:text_to_speak], :voice => options[:voice], :language => options[:language], :loop => options[:loop])
54
+ end
55
+ }
56
+ end
57
+
58
+ # The Play verb plays an audio URL back to the caller.
59
+ # Examples:
60
+ # Twilio::Verb.new.play('http://foo.com/cowbell.mp3')
61
+ # Twilio::Verb.new.play('http://foo.com/cowbell.mp3', :loop => 3)
62
+ #
63
+ # If you need a longer pause between each loop, set the pause option:
64
+ #
65
+ # Twilio::Verb.new.play('http://foo.com/cowbell.mp3', :loop => 3, :pause => true)
66
+ #
67
+ # Options (see http://www.twilio.com/docs/api_reference/TwiML/play) are passed in as a hash,
68
+ # but only 'loop' is currently supported.
69
+ def play(*args, &block)
70
+ options = {:loop => 1}
71
+ args.each do |arg|
72
+ case arg
73
+ when String
74
+ options[:audio_url] = arg
75
+ when Hash
76
+ options.merge!(arg)
77
+ else
78
+ raise ArgumentError, 'play expects String or Hash argument'
157
79
  end
158
-
159
- xml = Builder::XmlMarkup.new
160
- xml.instruct!
161
- xml.Response { xml.Dial(number_to_dial, options) }
162
80
  end
163
81
 
164
- def method_missing(method_id, *args) #:nodoc:
165
- if match = /(say|play|gather|record|dial)_(\d+)_times(_with_pause$*)/.match(method_id.to_s)
166
- verb = match.captures.first
167
- how_many_times = match.captures[1]
168
- pause = match.captures[2] == '_with_pause'
169
- self.send(verb, args.first, { :loop => Integer(how_many_times), :pause => pause})
82
+ response {
83
+ if options[:pause]
84
+ loop_with_pause(options[:loop], @xml) do
85
+ @xml.Play(options[:audio_url])
86
+ end
170
87
  else
171
- raise NoMethodError.new("Method --- #{method_id} --- not found")
88
+ @xml.Play(options[:audio_url], :loop => options[:loop])
89
+ end
90
+ }
91
+ end
92
+
93
+ # The Gather verb collects digits entered by a caller into their telephone keypad.
94
+ # When the caller is done entering data, Twilio submits that data to a provided URL,
95
+ # as either a HTTP GET or POST request, just like a web browser submits data from an HTML form.
96
+ #
97
+ # Options (see http://www.twilio.com/docs/api_reference/TwiML/gather) are passed in as a hash
98
+ #
99
+ # Examples:
100
+ # Twilio::Verb.new.gather
101
+ # Twilio::Verb.new.gather(:action => 'http://foobar.com')
102
+ # Twilio::Verb.new.gather(:finishOnKey => '*')
103
+ # Twilio::Verb.new.gather(:action => 'http://foobar.com', :finishOnKey => '*')
104
+ def gather(*args, &block)
105
+ options = args.shift
106
+ response { @xml.Gather(options) }
107
+ end
108
+
109
+ # The Record verb records the caller's voice and returns a URL that links to a file
110
+ # containing the audio recording.
111
+ #
112
+ # Options (see http://www.twilio.com/docs/api_reference/TwiML/record) are passed in as a hash
113
+ #
114
+ # Examples:
115
+ # Twilio::Verb.new.record
116
+ # Twilio::Verb.new.record(:action => 'http://foobar.com')
117
+ # Twilio::Verb.new.record(:finishOnKey => '*')
118
+ # Twilio::Verb.new.record(:transcribe => true, :transcribeCallback => '/handle_transcribe')
119
+ def record(*args, &block)
120
+ options = args.shift
121
+ response { @xml.Record(options) }
122
+ end
123
+
124
+ # The Dial verb connects the current caller to an another phone. If the called party picks up,
125
+ # the two parties are connected and can communicate until one hangs up. If the called party does
126
+ # not pick up, if a busy signal is received, or the number doesn't exist, the dial verb will finish.
127
+ #
128
+ # If an action verb is provided, Twilio will submit the outcome of the call attempt to the action URL.
129
+ # If no action is provided, Dial will fall through to the next verb in the document.
130
+ #
131
+ # Note: this is different than the behavior of Record and Gather. Dial does not submit back to the
132
+ # current document URL if no action is provided.
133
+ #
134
+ # Options (see http://www.twilio.com/docs/api_reference/TwiML/dial) are passed in as a hash
135
+ #
136
+ # Examples:
137
+ # Twilio::Verb.new.dial('415-123-4567')
138
+ # Twilio::Verb.new.dial('415-123-4567', :action => 'http://foobar.com')
139
+ # Twilio::Verb.new.dial('415-123-4567', {:timeout => 10, :callerId => '858-987-6543'})
140
+ def dial(*args, &block)
141
+ number_to_dial = ''
142
+ options = {}
143
+ args.each do |arg|
144
+ case arg
145
+ when String
146
+ number_to_dial = arg
147
+ when Hash
148
+ options.merge!(arg)
149
+ else
150
+ raise ArgumentError, 'dial expects String or Hash argument'
172
151
  end
173
152
  end
174
-
175
- private
176
153
 
177
- def loop_with_pause(loop_count, xml, &verb_action)
178
- last_iteration = loop_count-1
179
- loop_count.times do |i|
180
- yield verb_action
181
- xml.Pause unless i == last_iteration
182
- end
183
- end
154
+ response { @xml.Dial(number_to_dial, options) }
184
155
  end
156
+
157
+ private
158
+
159
+ def response
160
+ @xml.Response { yield }
161
+ end
162
+
163
+ def loop_with_pause(loop_count, xml, &verb_action)
164
+ last_iteration = loop_count-1
165
+ loop_count.times do |i|
166
+ yield verb_action
167
+ xml.Pause unless i == last_iteration
168
+ end
169
+ end
185
170
  end
186
171
  end
@@ -13,6 +13,12 @@ say_hi_three_times:
13
13
  say_hi_three_times_with_pause:
14
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
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/><Say loop="1" language="en" voice="man">bye</Say></Response>
21
+
16
22
  play_mp3:
17
23
  response: <?xml version="1.0" encoding="UTF-8"?><Response><Play loop="1">http://foo.com/cowbell.mp3</Play></Response>
18
24
 
@@ -41,7 +47,7 @@ gather_with_num_digits:
41
47
  response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather numDigits="5"/></Response>
42
48
 
43
49
  gather_with_all_options_set:
44
- response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather finishOnKey="*" method="GET" action="http://foobar.com" numDigits="5" timeout="10"/></Response>
50
+ response: <?xml version="1.0" encoding="UTF-8"?><Response><Gather finishOnKey="*" method="GET" action="http://foobar.com" timeout="10" numDigits="5"/></Response>
45
51
 
46
52
  record:
47
53
  response: <?xml version="1.0" encoding="UTF-8"?><Response><Record></Record></Response>
@@ -3,123 +3,131 @@ require File.dirname(__FILE__) + '/../test_helper'
3
3
  class VerbTest < Test::Unit::TestCase #:nodoc: all
4
4
  context "A Twilio Verb" do
5
5
  should "say 'hi'" do
6
- assert_equal verb_response(:say_hi), Twilio::Verb.say('hi')
6
+ assert_equal verb_response(:say_hi), Twilio::Verb.new.say('hi')
7
7
  end
8
8
 
9
9
  should "say 'hi' with female voice" do
10
- assert_equal verb_response(:say_hi_with_female_voice), Twilio::Verb.say('hi', :voice => 'woman')
10
+ assert_equal verb_response(:say_hi_with_female_voice), Twilio::Verb.new.say('hi', :voice => 'woman')
11
11
  end
12
12
 
13
13
  should "say 'hola' in Spanish with female voice" do
14
- assert_equal verb_response(:say_hi_in_spanish_with_female_voice), Twilio::Verb.say('hola', {:voice => 'woman', :language => 'es'})
14
+ assert_equal verb_response(:say_hi_in_spanish_with_female_voice), Twilio::Verb.new.say('hola', {:voice => 'woman', :language => 'es'})
15
15
  end
16
16
 
17
17
  should "say 'hi' three times" do
18
- assert_equal verb_response(:say_hi_three_times), Twilio::Verb.say_3_times('hi')
18
+ assert_equal verb_response(:say_hi_three_times), Twilio::Verb.new.say('hi', :loop => 3)
19
19
  end
20
20
 
21
21
  should "say 'hi' three times with pause" do
22
- assert_equal verb_response(:say_hi_three_times_with_pause), Twilio::Verb.say_3_times_with_pause('hi')
22
+ assert_equal verb_response(:say_hi_three_times_with_pause), Twilio::Verb.new.say('hi', :loop => 3, :pause => true)
23
23
  end
24
24
 
25
+ #should "say 'hi' with pause and say 'bye'" do
26
+ # verb = Twilio::Verb.new { |v|
27
+ # v.say('TESTING')
28
+ # puts v.say('BYE')
29
+ # }
30
+ # assert_equal verb_response(:say_hi_with_pause_and_say_bye), verb
31
+ #end
32
+
25
33
  should "play mp3 response" do
26
- assert_equal verb_response(:play_mp3), Twilio::Verb.play('http://foo.com/cowbell.mp3')
34
+ assert_equal verb_response(:play_mp3), Twilio::Verb.new.play('http://foo.com/cowbell.mp3')
27
35
  end
28
36
 
29
37
  should "play mp3 response two times" do
30
- assert_equal verb_response(:play_mp3_two_times), Twilio::Verb.play_2_times('http://foo.com/cowbell.mp3')
38
+ assert_equal verb_response(:play_mp3_two_times), Twilio::Verb.new.play('http://foo.com/cowbell.mp3', :loop => 2)
31
39
  end
32
40
 
33
41
  should "play mp3 response two times with pause" do
34
- assert_equal verb_response(:play_mp3_two_times_with_pause), Twilio::Verb.play_2_times_with_pause('http://foo.com/cowbell.mp3')
42
+ assert_equal verb_response(:play_mp3_two_times_with_pause), Twilio::Verb.new.play('http://foo.com/cowbell.mp3', :loop => 2, :pause => true)
35
43
  end
36
44
 
37
45
  should "gather" do
38
- assert_equal verb_response(:gather), Twilio::Verb.gather
46
+ assert_equal verb_response(:gather), Twilio::Verb.new.gather
39
47
  end
40
48
 
41
49
  should "gather with action" do
42
- assert_equal verb_response(:gather_with_action), Twilio::Verb.gather(:action => 'http://foobar.com')
50
+ assert_equal verb_response(:gather_with_action), Twilio::Verb.new.gather(:action => 'http://foobar.com')
43
51
  end
44
52
 
45
53
  should "gather with GET method" do
46
- assert_equal verb_response(:gather_with_get_method), Twilio::Verb.gather(:method => 'GET')
54
+ assert_equal verb_response(:gather_with_get_method), Twilio::Verb.new.gather(:method => 'GET')
47
55
  end
48
56
 
49
57
  should "gather with timeout" do
50
- assert_equal verb_response(:gather_with_timeout), Twilio::Verb.gather(:timeout => 10)
58
+ assert_equal verb_response(:gather_with_timeout), Twilio::Verb.new.gather(:timeout => 10)
51
59
  end
52
60
 
53
61
  should "gather with finish key" do
54
- assert_equal verb_response(:gather_with_finish_key), Twilio::Verb.gather(:finishOnKey => '*')
62
+ assert_equal verb_response(:gather_with_finish_key), Twilio::Verb.new.gather(:finishOnKey => '*')
55
63
  end
56
64
 
57
65
  should "gather with num digits" do
58
- assert_equal verb_response(:gather_with_num_digits), Twilio::Verb.gather(:numDigits => 5)
66
+ assert_equal verb_response(:gather_with_num_digits), Twilio::Verb.new.gather(:numDigits => 5)
59
67
  end
60
68
 
61
69
  should "gather with all options set" do
62
- assert_equal verb_response(:gather_with_all_options_set), Twilio::Verb.gather(:action => 'http://foobar.com', :method => 'GET', :timeout => 10, :finishOnKey => '*', :numDigits => 5)
70
+ assert_equal verb_response(:gather_with_all_options_set), Twilio::Verb.new.gather(:action => 'http://foobar.com', :method => 'GET', :timeout => 10, :finishOnKey => '*', :numDigits => 5)
63
71
  end
64
72
 
65
73
  should "record" do
66
- assert_equal verb_response(:record), Twilio::Verb.record
74
+ assert_equal verb_response(:record), Twilio::Verb.new.record
67
75
  end
68
76
 
69
77
  should "record with action" do
70
- assert_equal verb_response(:record_with_action), Twilio::Verb.record(:action => 'http://foobar.com')
78
+ assert_equal verb_response(:record_with_action), Twilio::Verb.new.record(:action => 'http://foobar.com')
71
79
  end
72
80
 
73
81
  should "record with GET method" do
74
- assert_equal verb_response(:record_with_get_method), Twilio::Verb.record(:method => 'GET')
82
+ assert_equal verb_response(:record_with_get_method), Twilio::Verb.new.record(:method => 'GET')
75
83
  end
76
84
 
77
85
  should "record with timeout" do
78
- assert_equal verb_response(:record_with_timeout), Twilio::Verb.record(:timeout => 10)
86
+ assert_equal verb_response(:record_with_timeout), Twilio::Verb.new.record(:timeout => 10)
79
87
  end
80
88
 
81
89
  should "record with finish key" do
82
- assert_equal verb_response(:record_with_finish_key), Twilio::Verb.record(:finishOnKey => '*')
90
+ assert_equal verb_response(:record_with_finish_key), Twilio::Verb.new.record(:finishOnKey => '*')
83
91
  end
84
92
 
85
93
  should "record with max length" do
86
- assert_equal verb_response(:record_with_max_length), Twilio::Verb.record(:maxLength => 1800)
94
+ assert_equal verb_response(:record_with_max_length), Twilio::Verb.new.record(:maxLength => 1800)
87
95
  end
88
96
 
89
97
  should "record with transcribe" do
90
- assert_equal verb_response(:record_with_transcribe), Twilio::Verb.record(:transcribe => true, :transcribeCallback => '/handle_transcribe')
98
+ assert_equal verb_response(:record_with_transcribe), Twilio::Verb.new.record(:transcribe => true, :transcribeCallback => '/handle_transcribe')
91
99
  end
92
100
 
93
101
  should "dial" do
94
- assert_equal verb_response(:dial), Twilio::Verb.dial('415-123-4567')
102
+ assert_equal verb_response(:dial), Twilio::Verb.new.dial('415-123-4567')
95
103
  end
96
104
 
97
105
  should "dial with action" do
98
- assert_equal verb_response(:dial_with_action), Twilio::Verb.dial('415-123-4567', :action => 'http://foobar.com')
106
+ assert_equal verb_response(:dial_with_action), Twilio::Verb.new.dial('415-123-4567', :action => 'http://foobar.com')
99
107
  end
100
108
 
101
109
  should "dial with GET method" do
102
- assert_equal verb_response(:dial_with_get_method), Twilio::Verb.dial('415-123-4567', :method => 'GET')
110
+ assert_equal verb_response(:dial_with_get_method), Twilio::Verb.new.dial('415-123-4567', :method => 'GET')
103
111
  end
104
112
 
105
113
  should "dial with timeout" do
106
- assert_equal verb_response(:dial_with_timeout), Twilio::Verb.dial('415-123-4567', :timeout => 10)
114
+ assert_equal verb_response(:dial_with_timeout), Twilio::Verb.new.dial('415-123-4567', :timeout => 10)
107
115
  end
108
116
 
109
117
  should "dial with hangup on star" do
110
- assert_equal verb_response(:dial_with_hangup_on_star), Twilio::Verb.dial('415-123-4567', :hangupOnStar => true)
118
+ assert_equal verb_response(:dial_with_hangup_on_star), Twilio::Verb.new.dial('415-123-4567', :hangupOnStar => true)
111
119
  end
112
120
 
113
121
  should "dial with time limit" do
114
- assert_equal verb_response(:dial_with_time_limit), Twilio::Verb.dial('415-123-4567', :timeLimit => 3600)
122
+ assert_equal verb_response(:dial_with_time_limit), Twilio::Verb.new.dial('415-123-4567', :timeLimit => 3600)
115
123
  end
116
124
 
117
125
  should "dial with caller id" do
118
- assert_equal verb_response(:dial_with_caller_id), Twilio::Verb.dial('415-123-4567', :callerId => '858-987-6543')
126
+ assert_equal verb_response(:dial_with_caller_id), Twilio::Verb.new.dial('415-123-4567', :callerId => '858-987-6543')
119
127
  end
120
128
 
121
129
  should "dial with timeout and caller id" do
122
- assert_equal verb_response(:dial_with_timeout_and_caller_id), Twilio::Verb.dial('415-123-4567', {:timeout => 10, :callerId => '858-987-6543'})
130
+ assert_equal verb_response(:dial_with_timeout_and_caller_id), Twilio::Verb.new.dial('415-123-4567', {:timeout => 10, :callerId => '858-987-6543'})
123
131
  end
124
132
  end
125
133
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webficient-twilio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phil Misiowiec