twilio-ruby 3.12.1 → 3.12.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OWU0YjUzYzFjNmY0YTc4NzM1MDMyZjAyZjQwZmJkNzM5ZDM3MGVjZg==
4
+ OWM4YzFhOGQ2NjI1N2Q3NmQ1YjE0YzNlNDkxNjg5NTUzMzYzNzI4Mg==
5
5
  data.tar.gz: !binary |-
6
- MzY4NWQwNjRhMTZhODRhNzViZDdmYmQ4MmYxNDZhNmE4YTY3YWY2ZQ==
6
+ NGZjMjdmZTFjMWE4YzhlYWJjNGQ4NTkzMTkzMjY2NDgyMDIwYWRjMw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWVmMzJjZjEwMjFhNTI1MDY4ZGJkZTgyMTQ0OWNlYWI3YmNjOTRmMzUxNTFl
10
- YmYxYzQyMWQzMjY2ZGM2NTc5ZjUwYzhiOGFkZDM0OWY0MjFhNDRiY2FiNmY4
11
- ZTkxNDVjYTkzN2NmZDMyZjNmYTJlMTkzMzk0ZjA4MTY5MjgzMjg=
9
+ MTQ2NDhjZDVhOTc0NTJlYjRkY2FlZTEzMDc1ZmQ5NzM1M2QxNWM0YmU2OThm
10
+ NzRiNzQzNTA1NWU4YzlhMmE3ZDkxNDJlMzJlOWEwYzcyZmVlYTdhODZlY2Mz
11
+ Mzc1ZDk5MzQxODQzNzY5MTY1ZTE0NzkyNGRkZmU3YjcyNGRhOGM=
12
12
  data.tar.gz: !binary |-
13
- NmY3NGI1NzljMTY0MDA4NjM5YTg3NTFkZjQxYTcwZGUyYWYwMWJiNmFjMTdh
14
- MDNmNTZhOGMwNGM5NDhhNmY4NTU3MDJhNThhMTBkYjBjYmM0YmQzZDk3OWJm
15
- YTk3NjUyNGI2MGIxMTZmNGUzZGM1MmRiMTk0YWJjNGI2YmU5YmE=
13
+ NWM5NTE2Y2U0ZmUwNWFjOWQ2MmRjYWUzMWNjYmIxMDc5ZmM0YmQ4ZTQxZjQz
14
+ MWU2NTU3YjM4OWI5OWNiMjM1MTkzY2VlNmU4Y2I4NDMwZmM3NjA4MWEwNDQx
15
+ ZDdmMzcxYzU5YTA1MTI2NTIxZTViYTgzYmNlMjY4MzQ1ZGJhZTQ=
data/CHANGES.md CHANGED
@@ -1,13 +1,33 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ Version 3.12.2
5
+ --------------
6
+
7
+ Released August 29, 2014
8
+
9
+ - `client.account.{resource}` can now be accessed with `client.{resource}`
10
+ - Many doc updates
11
+
12
+ Version 3.12.1
13
+ --------------
14
+
15
+ Released August 26, 2014
16
+
17
+ - Add support for new call feedback endpoints
18
+
4
19
  Version 3.12.0
20
+ --------------
21
+
22
+ Released August 18, 2014
23
+
5
24
  - Add Rack middleware for Twilio request-signature validation
6
25
  - Upgrade dependencies and clean up project files
7
26
  - Documentation fixes
8
27
  - Add `text` alias for `to_xml` method on TwiML generator objects
9
28
 
10
29
  Version 3.11.6
30
+ --------------
11
31
 
12
32
  Released July 25, 2014
13
33
 
@@ -16,14 +36,16 @@ Released July 25, 2014
16
36
  - Updated to RSpec 3 syntax.
17
37
 
18
38
  Version 3.11.5
39
+ --------------
19
40
 
20
- Released February 4
41
+ Released February 4, 2014
21
42
 
22
43
  - Add bangs for twilify to indicate it's a dangerous operation.
23
44
  - Remove reference to deprecated OpenSSL Digest parameter.
24
45
  - Encode dates properly before passing them to the Twilio API.
25
46
 
26
47
  Version 3.11.4
48
+ --------------
27
49
 
28
50
  Released October 21, 2013
29
51
 
@@ -32,6 +54,7 @@ Released October 21, 2013
32
54
  both IncomingPhoneNumbers and AvailablePhoneNumbers.
33
55
 
34
56
  Version 3.11.3
57
+ --------------
35
58
 
36
59
  Released October 15, 2013
37
60
 
data/README.md CHANGED
@@ -11,7 +11,7 @@ A module for using the Twilio REST API and generating valid [TwiML](http://www.t
11
11
  To install using [Bundler][bundler] grab the latest stable version:
12
12
 
13
13
  ```ruby
14
- gem 'twilio-ruby', '~> 3.11'
14
+ gem 'twilio-ruby', '~> 3.12'
15
15
  ```
16
16
 
17
17
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
@@ -47,7 +47,7 @@ auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
47
47
  ### Send an SMS
48
48
 
49
49
  ``` ruby
50
- @client.account.messages.create(
50
+ @client.messages.create(
51
51
  :from => '+14159341234',
52
52
  :to => '+16105557069',
53
53
  :body => 'Hey there!'
@@ -57,7 +57,7 @@ auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
57
57
  ### Send an MMS
58
58
 
59
59
  ``` ruby
60
- @client.account.messages.create(
60
+ @client.messages.create(
61
61
  :from => '+14159341234',
62
62
  :to => '+16105557069',
63
63
  :body => 'Hey there!',
@@ -69,7 +69,7 @@ auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
69
69
 
70
70
  ``` ruby
71
71
  # make a new outgoing call
72
- @call = @client.account.calls.create(
72
+ @call = @client.calls.create(
73
73
  :from => '+14159341234',
74
74
  :to => '+18004567890',
75
75
  :url => 'http://example.com/call-handler',
@@ -79,7 +79,7 @@ auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
79
79
  @call.cancel
80
80
 
81
81
  # if you have the call sid, you can fetch a call object via:
82
- @call = @client.account.calls.get('CA386025c9bf5d6052a1d1ea42b4d16662')
82
+ @call = @client.calls.get('CA386025c9bf5d6052a1d1ea42b4d16662')
83
83
 
84
84
  # redirect an in-progress call
85
85
  @call.redirect_to('http://example.com/call-redirect')
@@ -92,21 +92,21 @@ auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
92
92
 
93
93
  ``` ruby
94
94
  # list calls made or received on or after May 13, 2013
95
- @client.account.calls.list("start_time>" => "2013-05-13") # Notice we omit the "=" in the "start_time>=" parameter because it is automatically added
95
+ @client.calls.list("start_time>" => "2013-05-13") # Notice we omit the "=" in the "start_time>=" parameter because it is automatically added
96
96
  ```
97
97
 
98
98
  ### Buy a Phone Number
99
99
 
100
100
  ``` ruby
101
101
  # print some available numbers
102
- @numbers = @client.account.available_phone_numbers.get('US').local.list(
102
+ @numbers = @client.available_phone_numbers.get('US').local.list(
103
103
  :contains => 'AWESOME'
104
104
  )
105
105
  @numbers.each {|num| puts num.phone_number}
106
106
 
107
107
  # buy the first one
108
108
  @number = @numbers[0].phone_number
109
- @client.account.incoming_phone_numbers.create(:phone_number => @number)
109
+ @client.incoming_phone_numbers.create(:phone_number => @number)
110
110
  ```
111
111
 
112
112
  ## Getting Started With Client Capability Tokens
@@ -200,4 +200,4 @@ directory. Also for thoose upgrading, the [upgrade guide][upgrade] is available
200
200
  [travis]: http://travis-ci.org/twilio/twilio-ruby
201
201
  [codeclimate]: https://codeclimate.com/github/twilio/twilio-ruby
202
202
  [jruby]: http://www.jruby.org
203
- [rubinius]: http://rubini.us
203
+ [rubinius]: http://rubini.us
@@ -19,7 +19,7 @@ Make a Call
19
19
  auth_token = "YYYYYYYYYYYYYYYYYY"
20
20
 
21
21
  @client = Twilio::REST::Client.new account_sid, auth_token
22
- @call = @client.account.calls.create({:to => "9991231234", :from => "9991231234",
22
+ @call = @client.calls.create({:to => "9991231234", :from => "9991231234",
23
23
  :url => "http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient"})
24
24
  puts @call.length
25
25
  puts @call.sid
@@ -38,7 +38,7 @@ Send an SMS
38
38
 
39
39
  @client = Twilio::REST::Client.new account_sid, auth_token
40
40
 
41
- @message = @client.account.messages.create({:to => "+12316851234",
41
+ @message = @client.messages.create({:to => "+12316851234",
42
42
  :from => "+15555555555",
43
43
  :body => "Hello there!"})
44
44
 
@@ -56,7 +56,7 @@ Send an MMS
56
56
 
57
57
  @client = Twilio::REST::Client.new account_sid, auth_token
58
58
 
59
- @message = @client.account.messages.create({:to => "+15558676309",
59
+ @message = @client.messages.create({:to => "+15558676309",
60
60
  :from => "+15555555555",
61
61
  :body => "Jenny I need you!",
62
62
  :media_url => "http://twilio.com/heart.jpg"})
@@ -26,7 +26,7 @@ The following code will print out the :attr:`friendly_name` for each :class:`App
26
26
  auth_token = "YYYYYYYYYYYYYYYYYY"
27
27
 
28
28
  @client = Twilio::REST::Client.new account_sid, auth_token
29
- @client.account.applications.each do |app|
29
+ @client.applications.each do |app|
30
30
  puts app.friendly_name
31
31
  end
32
32
 
@@ -45,7 +45,7 @@ You can filter applications by FriendlyName
45
45
  auth_token = "YYYYYYYYYYYYYYYYYY"
46
46
 
47
47
  @client = Twilio::REST::Client.new account_sid, auth_token
48
- @client.account.applications.list({:friendly_name => 'FOO'})}.each do |app|
48
+ @client.applications.list({:friendly_name => 'FOO'})}.each do |app|
49
49
  puts app.sid
50
50
  end
51
51
 
@@ -66,7 +66,7 @@ accepts many other arguments for url configuration.
66
66
  auth_token = "YYYYYYYYYYYYYYYYYY"
67
67
 
68
68
  @client = Twilio::REST::Client.new account_sid, auth_token
69
- @application = @client.account.applications.create({:friendly_name => "My New App"})
69
+ @application = @client.applications.create({:friendly_name => "My New App"})
70
70
 
71
71
 
72
72
  Updating an Application
@@ -85,7 +85,7 @@ Updating an Application
85
85
  url = "http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient"
86
86
  app_sid = 'AP123' # the app you'd like to update
87
87
 
88
- @application = @client.account.applications.get(app_sid)
88
+ @application = @client.applications.get(app_sid)
89
89
  @application.update({:voice_url => url})
90
90
 
91
91
 
@@ -103,6 +103,6 @@ Deleting an Application
103
103
  @client = Twilio::REST::Client.new account_sid, auth_token
104
104
 
105
105
  app_sid = 'AP123' # the app you'd like to delete
106
- @client.account.applications.get(app_sid)
106
+ @client.applications.get(app_sid)
107
107
  @application.delete()
108
108
 
@@ -43,7 +43,7 @@ The :class:`Client` gives you access to various list resources.
43
43
  auth_token = "YYYYYYYYYYYYYYYYYY"
44
44
 
45
45
  @client = Twilio::REST::Client.new account_sid, auth_token
46
- @calls = @client.account.calls.list()
46
+ @calls = @client.calls.list()
47
47
 
48
48
  :meth:`ListResource.list` accepts paging arguments.
49
49
  The following will return page 3 with page size of 25.
@@ -57,7 +57,7 @@ The following will return page 3 with page size of 25.
57
57
  auth_token = "YYYYYYYYYYYYYYYYYY"
58
58
 
59
59
  @client = Twilio::REST::Client.new account_sid, auth_token
60
- @calls = @client.account.calls.list(:page=>3, :page_size=>25)
60
+ @calls = @client.calls.list(:page=>3, :page_size=>25)
61
61
 
62
62
 
63
63
  Get an Individual Resource
@@ -76,7 +76,7 @@ Provide the :attr:`sid` of the resource you'd like to get.
76
76
 
77
77
  @client = Twilio::REST::Client.new account_sid, auth_token
78
78
 
79
- @call = @client.account.calls.get("CA123")
79
+ @call = @client.calls.get("CA123")
80
80
  puts @call.to
81
81
 
82
82
 
@@ -97,6 +97,6 @@ and then call :meth:`delete` on it.
97
97
 
98
98
  @client = Twilio::REST::Client.new account_sid, auth_token
99
99
 
100
- @recording = @client.account.recordings.get("RC123")
100
+ @recording = @client.recordings.get("RC123")
101
101
  @recording.delete()
102
102
 
@@ -19,7 +19,7 @@ Validating a phone number is quick and easy.
19
19
  auth_token = "YYYYYYYYYYYYYYYYYY"
20
20
 
21
21
  @client = Twilio::REST::Client.new account_sid, auth_token
22
- @response = @client.account.outgoing_caller_ids.create(:phone_number => "+44 9876543212")
22
+ @response = @client.outgoing_caller_ids.create(:phone_number => "+44 9876543212")
23
23
  puts @response.validation_code
24
24
 
25
25
  Twilio will call the provided number and wait for the validation code to be
@@ -40,6 +40,6 @@ Deleting a phone number is quick and easy.
40
40
 
41
41
  @client = Twilio::REST::Client.new account_sid, auth_token
42
42
 
43
- @response = @client.account.outgoing_caller_ids.list(:phone_number => "+15555555555")
43
+ @response = @client.outgoing_caller_ids.list(:phone_number => "+15555555555")
44
44
  @callerid = response[0]
45
45
  @callerid.delete()
@@ -20,7 +20,7 @@ Listing Conferences
20
20
  auth_token = "YYYYYYYYYYYYYYYYYY"
21
21
 
22
22
  @client = Twilio::REST::Client.new account_sid, auth_token
23
- @conferences = @client.account.conferences.list()
23
+ @conferences = @client.conferences.list()
24
24
 
25
25
  @conferences.each do |conference|
26
26
  puts conference.sid
@@ -43,8 +43,8 @@ will return a list of all in-progress conferences and print their friendly name.
43
43
  auth_token = "YYYYYYYYYYYYYYYYYY"
44
44
 
45
45
  @client = Twilio::REST::Client.new account_sid, auth_token
46
- @conferences = @client.account.conferences.list({:status => "in-progress"})
47
-
46
+ @conferences = @client.conferences.list({:status => "in-progress"})
47
+
48
48
  @conference.each do |conference|
49
49
  puts conference.friendly_name
50
50
  end
@@ -64,7 +64,7 @@ Each :class:`Conference` has a :attr:`participants` instance which represents al
64
64
  auth_token = "YYYYYYYYYYYYYYYYYY"
65
65
 
66
66
  @client = Twilio::REST::Client.new account_sid, auth_token
67
- @conference = @client.account.conferences.get("CF123")
67
+ @conference = @client.conferences.get("CF123")
68
68
 
69
69
  @conference.participants.list.each.do |paricipant|
70
70
  puts participant.sid
@@ -94,7 +94,7 @@ code kicks out the first participant and mutes the rest.
94
94
  auth_token = "YYYYYYYYYYYYYYYYYY"
95
95
 
96
96
  @client = Twilio::REST::Client.new account_sid, auth_token
97
- @participants = @client.account.conferences.get("CF123").participants.list()
97
+ @participants = @client.conferences.get("CF123").participants.list()
98
98
 
99
99
  if @participants.empty?
100
100
  return
@@ -19,7 +19,7 @@ handled appropriately.
19
19
 
20
20
  begin
21
21
  @client = Twilio::REST::Client.new account_sid, auth_token
22
- client.account.messages.create({
22
+ client.messages.create({
23
23
  :from => '+1234567890',
24
24
  :to => '+1234567890',
25
25
  :body => 'Hello world'
@@ -24,7 +24,7 @@ Send a text message in only a few lines of code.
24
24
 
25
25
  @client = Twilio::REST::Client.new account_sid, auth_token
26
26
 
27
- @message = @client.account.messages.create({:to => "+13216851234",
27
+ @message = @client.messages.create({:to => "+13216851234",
28
28
  :from => "+15555555555",
29
29
  :body => "Hello!"})
30
30
 
@@ -48,7 +48,7 @@ To send a picture, set :attr:`media_url` to the url of the picture you wish to s
48
48
 
49
49
  @client = Twilio::REST::Client.new account_sid, auth_token
50
50
 
51
- @message = @client.account.messages.create({:to => "+15558676309",
51
+ @message = @client.messages.create({:to => "+15558676309",
52
52
  :from => "+15555555555",
53
53
  :body => "Jenny I need you!",
54
54
  :media_url => "http://twilio.com/heart.jpg"})
@@ -58,7 +58,7 @@ an array of urls.
58
58
 
59
59
  .. code-block:: ruby
60
60
 
61
- @message = @client.account.messages.create({:to => "+15558676309",
61
+ @message = @client.messages.create({:to => "+15558676309",
62
62
  :from => "+15555555555",
63
63
  :body => "Jenny I need you!",
64
64
  :media_url => [
@@ -80,7 +80,7 @@ Retrieving Sent Messages
80
80
 
81
81
  @client = Twilio::REST::Client.new account_sid, auth_token
82
82
 
83
- @client.account.messages.list.each do |message|
83
+ @client.messages.list.each do |message|
84
84
  puts message.body
85
85
 
86
86
 
@@ -101,9 +101,9 @@ The following will only show messages to "+5466758723" on January 1st, 2011.
101
101
 
102
102
  @client = Twilio::REST::Client.new account_sid, auth_token
103
103
 
104
- @messages = @client.account.messages.list({:to => "+5466758723", :date_sent => "2011-01-01"})
104
+ @messages = @client.messages.list({:to => "+5466758723", :date_sent => "2011-01-01"})
105
105
 
106
106
  @messages.each do |message|
107
107
  puts message.body
108
-
108
+
109
109
 
@@ -24,7 +24,7 @@ current :class:`Notification` resources.
24
24
 
25
25
  @client = Twilio::REST::Client.new account_sid, auth_token
26
26
 
27
- @client.account.notifications.list().each do |notification|:
27
+ @client.notifications.list().each do |notification|:
28
28
  puts notification.more_info
29
29
 
30
30
  You can filter transcriptions by :attr:`log` and :attr:`message_date`.
@@ -42,7 +42,7 @@ The :attr:`log` value is 0 for `ERROR` and 1 for `WARNING`.
42
42
 
43
43
  ERROR = 0
44
44
 
45
- @client.account.notifications.list(log=ERROR).each do |notification|:
45
+ @client.notifications.list(log=ERROR).each do |notification|:
46
46
  puts notification.error_code
47
47
 
48
48
  .. note:: Due to the potentially voluminous amount of data in a notification,
@@ -25,7 +25,7 @@ outputs valid `TwiML <http://www.twilio.com/docs/api/twiml/>`_.
25
25
  auth_token = "YYYYYYYYYYYYYYYYYY"
26
26
 
27
27
  @client = Twilio::REST::Client.new account_sid, auth_token
28
- @call = @client.account.calls.create({:to => "9991231234",
28
+ @call = @client.calls.create({:to => "9991231234",
29
29
  :from => "9991231234",
30
30
  :url => "http://foo.com/call.xml"})
31
31
  puts @call.length
@@ -48,7 +48,7 @@ you can use the client to retrieve that record.
48
48
 
49
49
  @client = Twilio::REST::Client.new account_sid, auth_token
50
50
  sid = "CA12341234"
51
- @call = @client.account.calls.get(sid)
51
+ @call = @client.calls.get(sid)
52
52
 
53
53
 
54
54
  Accessing Specific Call Resources
@@ -69,7 +69,7 @@ just like the :class:`Calls` resource itself.
69
69
 
70
70
  @client = Twilio::REST::Client.new account_sid, auth_token
71
71
  sid = "CA12341234"
72
- @call = @client.account.calls.get(sid)
72
+ @call = @client.calls.get(sid)
73
73
 
74
74
  puts @call.notifications.list()
75
75
  puts @call.recordings.list()
@@ -109,7 +109,7 @@ redirect them as necessary
109
109
  auth_token = "YYYYYYYYYYYYYYYYYY"
110
110
 
111
111
  @client = Twilio::REST::Client.new account_sid, auth_token
112
- @calls = @client.account.calls.list({:status => "in-progress"})
112
+ @calls = @client.calls.list({:status => "in-progress"})
113
113
 
114
114
  @calls.each do |call|
115
115
  call.redirect_to("http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient")
@@ -127,7 +127,7 @@ Ending all live calls is also possible
127
127
  auth_token = "YYYYYYYYYYYYYYYYYY"
128
128
 
129
129
  @client = Twilio::REST::Client.new account_sid, auth_token
130
- @calls = @client.account.calls.list({:status => "in-progress"})
130
+ @calls = @client.calls.list({:status => "in-progress"})
131
131
 
132
132
  @calls.each do |call|
133
133
  call.hangup()
@@ -148,7 +148,7 @@ resource to update the record without having to use :meth:`get` first.
148
148
 
149
149
  @client = Twilio::REST::Client.new account_sid, auth_token
150
150
  sid = "CA12341234"
151
- @client.account.calls.get(sid).redirect_to("http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient")
151
+ @client.calls.get(sid).redirect_to("http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient")
152
152
 
153
153
  Hanging up the call also works.
154
154
 
@@ -162,5 +162,5 @@ Hanging up the call also works.
162
162
 
163
163
  @client = Twilio::REST::Client.new account_sid, auth_token
164
164
  sid = "CA12341234"
165
- @client.account.calls.get(sid).hangup()
165
+ @client.calls.get(sid).hangup()
166
166
 
@@ -27,7 +27,7 @@ Once we find one, we'll purchase it for our account.
27
27
  auth_token = "YYYYYYYYYYYYYYYYYY"
28
28
 
29
29
  @client = Twilio::REST::Client.new account_sid, auth_token
30
- numbers = @client.account.available_phone_numbers.list(:area_code=>"530")
30
+ numbers = @client.available_phone_numbers.list(:area_code=>"530")
31
31
 
32
32
  if numbers:
33
33
  numbers[0].purchase()
@@ -51,13 +51,13 @@ You can search for numbers for a given type.
51
51
  .. code-block:: ruby
52
52
 
53
53
  # local
54
- numbers = @client.account.available_phone_numbers.local.list()
54
+ numbers = @client.available_phone_numbers.local.list()
55
55
 
56
56
  # toll free
57
- numbers = @client.account.available_phone_numbers.toll_free.list()
57
+ numbers = @client.available_phone_numbers.toll_free.list()
58
58
 
59
59
  # mobile
60
- numbers = @client.account.available_phone_numbers.mobile.list()
60
+ numbers = @client.available_phone_numbers.mobile.list()
61
61
 
62
62
  Numbers Containing Words
63
63
  ^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -67,13 +67,13 @@ The following example will find any phone number with "FOO" in it.
67
67
 
68
68
  .. code-block:: ruby
69
69
 
70
- numbers = @client.account.available_phone_numbers.list(:contains=>"FOO")
70
+ numbers = @client.available_phone_numbers.list(:contains=>"FOO")
71
71
 
72
72
  You can use the ''*'' wildcard to match any character. The following example finds any phone number that matches the pattern ''D*D''.
73
73
 
74
74
  .. code-block:: ruby
75
75
 
76
- numbers = @client.account.available_phone_numbers.list(:contains=>"D*D")
76
+ numbers = @client.available_phone_numbers.list(:contains=>"D*D")
77
77
 
78
78
 
79
79
  International Numbers
@@ -85,7 +85,7 @@ international numbers.
85
85
 
86
86
  .. code-block:: ruby
87
87
 
88
- numbers = @client.account.available_phone_numbers.list(:country=>"FR")
88
+ numbers = @client.available_phone_numbers.list(:country=>"FR")
89
89
 
90
90
 
91
91
  :meth:`PhoneNumbers.search` method has plenty of other options to augment your search :
@@ -115,7 +115,7 @@ If you've found a phone number you want, you can purchase the number.
115
115
  auth_token = "YYYYYYYYYYYYYYYYYY"
116
116
 
117
117
  @client = Twilio::REST::Client.new account_sid, auth_token
118
- @number = @client.account.phone_numbers.purchase({:phone_number => "+15305431234"})
118
+ @number = @client.available_phone_numbers.purchase({:phone_number => "+15305431234"})
119
119
 
120
120
  However, it's easier to purchase numbers after finding them using search (as
121
121
  shown in the first example).
@@ -138,9 +138,9 @@ listed in the `IncomingPhoneNumbers Resource documentation
138
138
  auth_token = "YYYYYYYYYYYYYYYYYY"
139
139
 
140
140
  @client = Twilio::REST::Client.new account_sid, auth_token
141
- @client.account.phone_numbers.list(api_version="2010-04-01").each do |number|
142
- number.update({:voice_url => "http://twimlets.com/holdmusic?" +
143
- "Bucket=com.twilio.music.ambient",
141
+ @client.available_phone_numbers.list(api_version="2010-04-01").each do |number|
142
+ number.update({:voice_url => "http://twimlets.com/holdmusic?" +
143
+ "Bucket=com.twilio.music.ambient",
144
144
  :status_callback => "http://example.com/callback"})
145
145
 
146
146
 
@@ -161,7 +161,7 @@ An :class:`Application` encapsulates all necessary URLs for use with phone numbe
161
161
 
162
162
  phone_sid = "PNXXXXXXXXXXXXXXXXX"
163
163
 
164
- @number = @client.account.phone_numbers.get(phone_sid)
164
+ @number = @client.available_phone_numbers.get(phone_sid)
165
165
  @number.update(:sms_application_sid => "APXXXXXXXXXXXXXXXXXX")
166
166
 
167
167
  See :doc:`/usage/applications` for instructions on updating and maintaining Applications.
@@ -22,8 +22,8 @@ Listing Queues
22
22
  auth_token = "YYYYYYYYYYYYYYYYYY"
23
23
 
24
24
  @client = Twilio::REST::Client.new account_sid, auth_token
25
- @queues = @client.account.queues.list()
26
-
25
+ @queues = @client.queues.list()
26
+
27
27
  @queues.each do |queue|
28
28
  puts queue.sid
29
29
  end
@@ -44,7 +44,7 @@ represents all current calls in the queue.
44
44
  auth_token = "YYYYYYYYYYYYYYYYYY"
45
45
 
46
46
  @client = Twilio::REST::Client.new account_sid, auth_token
47
- @queue = @client.account.queues.get("QU123")
47
+ @queue = @client.queues.get("QU123")
48
48
 
49
49
  @queue.members.list().each do |member|
50
50
  print member.call_sid
@@ -74,8 +74,8 @@ first call in the queue.
74
74
 
75
75
  queue_sid = "QUAAAAAAAAAAAAA"
76
76
  call_sid = "CAXXXXXXXXXXXXXX"
77
-
78
- @members = @client.account.queues.get(queue_sid).members
77
+
78
+ @members = @client.queues.get(queue_sid).members
79
79
 
80
80
  # Get the first call in the queue
81
81
  puts members.front.date_enqueued
@@ -106,7 +106,7 @@ default values are 'Front' and 'GET'
106
106
 
107
107
  queue_sid = "QUAAAAAAAAAAAAA"
108
108
 
109
- @members = @client.account.queues.get(queue_sid).members
109
+ @members = @client.queues.get(queue_sid).members
110
110
 
111
111
  # Dequeue the first call in the queue
112
112
  puts @members.dequeue('http://www.twilio.com/welcome/call')
@@ -14,7 +14,7 @@ Audio Formats
14
14
 
15
15
  Each :class:`Recording` has a few special methods. To get the url
16
16
  for the wav format of this recording, use :meth:`Recording.wav`. For the
17
- mp3 format, use :meth:`Recording.mp3`. To make requests for either of
17
+ mp3 format, use :meth:`Recording.mp3`. To make requests for either of
18
18
  these formats use the same method with a '!' appended. These methods
19
19
  both take a block to be executed as soon as the response returns.
20
20
 
@@ -35,7 +35,7 @@ for each :class:`Recording`.
35
35
 
36
36
  @client = Twilio::REST::Client.new account_sid, auth_token
37
37
 
38
- @client.account.recordings.list().each do |recording|
38
+ @client.recordings.list().each do |recording|
39
39
  puts recording.duration
40
40
 
41
41
  You can filter recordings by CallSid by passing the Sid as :attr:`call`.
@@ -52,7 +52,7 @@ The following will only show recordings made before January 1, 2011.
52
52
  auth_token = "YYYYYYYYYYYYYYYYYY"
53
53
 
54
54
  @client = Twilio::REST::Client.new account_sid, auth_token
55
- @client.account.recordings.list(before=date(2011,1,1)).each do |recording|:
55
+ @client.recordings.list(before=date(2011,1,1)).each do |recording|:
56
56
  puts recording.duration
57
57
 
58
58
 
@@ -70,7 +70,7 @@ The :class:`Recordings` resource allows you to delete unnecessary recordings.
70
70
  auth_token = "YYYYYYYYYYYYYYYYYY"
71
71
 
72
72
  @client = Twilio::REST::Client.new account_sid, auth_token
73
- @client.account.recordings.get("RC123").delete()
73
+ @client.recordings.get("RC123").delete()
74
74
 
75
75
 
76
76
  Accessing Related Transcptions
@@ -89,7 +89,7 @@ with this recording.
89
89
  auth_token = "YYYYYYYYYYYYYYYYYY"
90
90
 
91
91
  @client = Twilio::REST::Client.new account_sid, auth_token
92
- @recording = @client.account.recordings.get("RC123")
92
+ @recording = @client.recordings.get("RC123")
93
93
 
94
94
  @recording.transcriptions.list().each do |transcription|
95
95
  puts transcription.transcription_text
data/docs/usage/sip.rst CHANGED
@@ -26,7 +26,7 @@ under sip.twilio.com.
26
26
 
27
27
  @client = Twilio::REST::Client.new account_sid, auth_token
28
28
 
29
- @domain = @client.account.sip.domains.create(
29
+ @domain = @client.sip.domains.create(
30
30
  {:friendly_name => "The Office Domain",
31
31
  :voice_url => "http://example.com/voice",
32
32
  :domain_name => "dunder-mifflin-scranton.sip.twilio.com",}
@@ -38,7 +38,7 @@ Creating a new IpAccessControlList
38
38
 
39
39
  To control access to your new domain, you'll need to explicitly grant access
40
40
  to individual ip addresses. To do this, you'll first need to create an
41
- :class:`IpAccessControlList` to hold the ip addresses you wish to allow.
41
+ :class:`IpAccessControlList` to hold the ip addresses you wish to allow.
42
42
 
43
43
  .. code-block:: ruby
44
44
 
@@ -50,7 +50,7 @@ to individual ip addresses. To do this, you'll first need to create an
50
50
 
51
51
  @client = Twilio::REST::Client.new account_sid, auth_token
52
52
 
53
- @ip_acl = @client.account.sip.ip_access_control_lists.create(
53
+ @ip_acl = @client.sip.ip_access_control_lists.create(
54
54
  {:friendly_name => "The Office IpAccessControlList",}
55
55
  )
56
56
  puts @ip_acl.sid
@@ -70,7 +70,7 @@ Now it's time to add an :class:`IpAddress` to your new :class:`IpAccessControlLi
70
70
 
71
71
  @client = Twilio::REST::Client.new account_sid, auth_token
72
72
 
73
- @ip_address = @client.account.sip.ip_access_control_lists.get(
73
+ @ip_address = @client.sip.ip_access_control_lists.get(
74
74
  "AL456", # IpAccessControlList sid
75
75
  ).ip_addresses.create(
76
76
  {:friendly_name => "Dwights's Computer",
@@ -94,7 +94,7 @@ associate them. To do this, create an :class:`IpAccessControlListMapping`.
94
94
 
95
95
  @client = Twilio::REST::Client.new account_sid, auth_token
96
96
 
97
- @ip_acl_mapping = @client.account.sip.domains.get(
97
+ @ip_acl_mapping = @client.sip.domains.get(
98
98
  "SD456", # SIP Domain sid
99
99
  ).ip_access_control_list_mappings.create(
100
100
  {:ip_access_control_list_sid => "AL789"})
@@ -26,6 +26,6 @@ The following code will print out the length of each :class:`Transcription`.
26
26
  auth_token = "YYYYYYYYYYYYYYYYYY"
27
27
 
28
28
  @client = Twilio::REST::Client.new account_sid, auth_token
29
- @client.account.transcriptions.list().each do |transcription|
29
+ @client.transcriptions.list().each do |transcription|
30
30
  puts transcription.duration
31
31
 
@@ -13,7 +13,7 @@ auth_token = '62ea81de3a5b414154eb263595357c69'
13
13
  # set up a client
14
14
  client = Twilio::REST::Client.new(account_sid, auth_token)
15
15
 
16
- calls = client.account.calls.list
16
+ calls = client.calls.list
17
17
 
18
18
  begin
19
19
  calls.each do |call|
@@ -28,6 +28,12 @@ module Twilio
28
28
  #
29
29
  # @client.account.calls
30
30
  #
31
+ # For convenience, the resources of the default account are also available
32
+ # on the client object. So the following call is equivalent to the example
33
+ # above
34
+ #
35
+ # @client.calls
36
+ #
31
37
  # represents an account's call list.
32
38
  #
33
39
  # ==== @client.accounts
@@ -48,8 +54,8 @@ module Twilio
48
54
  API_VERSION = '2010-04-01'
49
55
 
50
56
  # 1.8.7 doesn't have the RUBY_ENGINE constant.
51
- if defined?(RUBY_ENGINE)
52
- engine = RUBY_ENGINE
57
+ if defined?(RUBY_ENGINE)
58
+ engine = RUBY_ENGINE
53
59
  else
54
60
  engine = 'ruby'
55
61
  end
@@ -173,6 +179,26 @@ module Twilio
173
179
  end
174
180
  end
175
181
 
182
+ ##
183
+ # Delegate account methods from the client. This saves having to call
184
+ # <tt>client.account</tt> every time for resources on the default
185
+ # account.
186
+ def method_missing(method_name, *args, &block)
187
+ if account.respond_to?(method_name)
188
+ account.send(method_name, *args, &block)
189
+ else
190
+ super
191
+ end
192
+ end
193
+
194
+ def respond_to?(method_name, include_private=false)
195
+ if account.respond_to?(method_name, include_private)
196
+ true
197
+ else
198
+ super
199
+ end
200
+ end
201
+
176
202
  private
177
203
 
178
204
  ##
@@ -186,7 +212,7 @@ module Twilio
186
212
  @connection.open_timeout = @config[:timeout]
187
213
  @connection.read_timeout = @config[:timeout]
188
214
  end
189
-
215
+
190
216
  ##
191
217
  # Set up the ssl properties of the <tt>@connection</tt> Net::HTTP object.
192
218
  # This is a private method documented for completeness.
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '3.12.1'
2
+ VERSION = '3.12.2'
3
3
  end
@@ -6,7 +6,7 @@ describe Twilio::REST::Feedback do
6
6
  end
7
7
 
8
8
  it 'sets up a feedback resources object' do
9
- @call.should respond_to(:feedback)
10
- @call.feedback.instance_variable_get('@path').should == 'someUri/Feedback'
9
+ expect(@call).to respond_to(:feedback)
10
+ expect(@call.feedback.instance_variable_get('@path')).to eq('someUri/Feedback')
11
11
  end
12
12
  end
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe Twilio::REST::FeedbackSummary do
4
4
  it 'creates a feedback summary object' do
5
5
  calls = Twilio::REST::Calls.new('someUri', 'someClient')
6
- calls.should respond_to(:feedback_summary)
7
- calls.feedback_summary.instance_variable_get('@path').should == 'someUri/FeedbackSummary'
6
+ expect(calls).to respond_to(:feedback_summary)
7
+ expect(calls.feedback_summary.instance_variable_get('@path')).to eq('someUri/FeedbackSummary')
8
8
  end
9
- end
9
+ end
@@ -20,7 +20,7 @@ describe Twilio::REST::Client do
20
20
  expect(twilio.account_sid).to eq('someSid')
21
21
  expect(twilio.instance_variable_get('@auth_token')).to eq('someToken')
22
22
  end
23
-
23
+
24
24
  it 'should set up the proper default http ssl connection' do
25
25
  twilio = Twilio::REST::Client.new('someSid', 'someToken')
26
26
  connection = twilio.instance_variable_get('@connection')
@@ -28,7 +28,7 @@ describe Twilio::REST::Client do
28
28
  expect(connection.port).to eq(443)
29
29
  expect(connection.use_ssl?).to eq(true)
30
30
  end
31
-
31
+
32
32
  it 'should set up the requested ssl verification ca_file if provided' do
33
33
  twilio = Twilio::REST::Client.new('someSid', 'someToken', :ssl_ca_file => '/path/to/ca/file')
34
34
  connection = twilio.instance_variable_get('@connection')
@@ -87,6 +87,19 @@ describe Twilio::REST::Client do
87
87
  expect(twilio.account.instance_variable_get('@path')).to eq('/2010-04-01/Accounts/someSid')
88
88
  end
89
89
 
90
+ [
91
+ :sandbox, :available_phone_numbers, :incoming_phone_numbers,
92
+ :calls, :outgoing_caller_ids, :conferences, :sms, :recordings,
93
+ :transcriptions, :notifications, :applications, :connect_apps,
94
+ :authorized_connect_apps, :queues, :usage, :messages, :media, :sip
95
+ ].each do |method|
96
+ it "should delegate the client method #{method} to the account object" do
97
+ client = Twilio::REST::Client.new('someSid', 'someToken')
98
+ expect(client).to respond_to(method)
99
+ expect(client.send(method)).to eq(client.account.send(method))
100
+ end
101
+ end
102
+
90
103
  it 'should convert all parameter names to Twilio-style names' do
91
104
  twilio = Twilio::REST::Client.new('someSid', 'someToken')
92
105
  untwilified = {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twilio-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.12.1
4
+ version: 3.12.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Benton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-26 00:00:00.000000000 Z
11
+ date: 2014-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json