twilio-ruby 4.2.0 → 4.2.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.
- checksums.yaml +5 -13
- data/CHANGES.md +9 -0
- data/README.md +26 -2
- data/docs/index.rst +10 -0
- data/docs/usage/lookups.rst +62 -0
- data/lib/twilio-ruby/rest/lookups/phone_numbers.rb +1 -1
- data/lib/twilio-ruby/rest/task_router/statistics.rb +1 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/rest/lookups/phone_number_spec.rb +20 -0
- data/spec/rest/task_router/statistics_spec.rb +37 -0
- metadata +22 -19
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YTQ5YjQzNDBlYjIyYTNlMzgzNGVkODg1MThiY2FiN2NiNTBkZGU0NQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: af489771a6143eed6bab64834224d33424173807
|
4
|
+
data.tar.gz: 9ace9554caa5f9726e8391aaa554dbd9ccfcd2a3
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
OWZmMzc2ZjQ2YWM3MzI2Y2JkMTNkNGIwMzUwZTBmOTQ1NzVhNzQ3MDJhODQ3
|
11
|
-
MDQ0NThjNmU4NjdiYjhkMGEzMjBkMDM0MjJlMjcxZTU5NzU5NDM=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
M2QzOWIxMjliYzRjNTQ0YTYyMjU4NTU1MDFiYjc2NTI1NTllMGNmODNmOTZm
|
14
|
-
YTMxYzQ3YWQ4OTg5YTBhNDAxMjU3MjJmOWRhZDZlNjU3ODllMzQyMDRmYTRm
|
15
|
-
NGZjYTM1MGQ3Yzg5MDRlZThlNzY5MmQ4N2M3NDZlZDcwMGJiMDg=
|
6
|
+
metadata.gz: 73a48780f30ca69167c4de6f48acea63366718ddb6d54908e11147075edb864497f7972b2de58393e50c28cf77076c8754fc28b34ebcd7a45264aaea3b962d25
|
7
|
+
data.tar.gz: 885802c111f183d73945f7fd8ddc99f75834017890e4a304e26296a791e9b508396771bf77bbabcf2588a8e5aa1e07b3f46d9094c77e7e9e265acfa008e9a12e
|
data/CHANGES.md
CHANGED
@@ -1,6 +1,15 @@
|
|
1
1
|
twilio-ruby changelog
|
2
2
|
=====================
|
3
3
|
|
4
|
+
Version 4.2.1
|
5
|
+
-------------
|
6
|
+
|
7
|
+
Release June 19, 2015
|
8
|
+
|
9
|
+
- Allow passing URL parameters through when getting statistics for TaskRouter objects
|
10
|
+
- URI encode phone number lookups
|
11
|
+
- Adds documentation for lookups
|
12
|
+
|
4
13
|
Version 4.2.0
|
5
14
|
-------------
|
6
15
|
|
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', '~> 4.1
|
14
|
+
gem 'twilio-ruby', '~> 4.2.1'
|
15
15
|
```
|
16
16
|
|
17
17
|
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
@@ -147,6 +147,30 @@ capability.allow_client_incoming 'andrew'
|
|
147
147
|
There is a slightly more detailed document in the [Capability][capability]
|
148
148
|
section of the wiki.
|
149
149
|
|
150
|
+
## Lookup Phone Number information
|
151
|
+
|
152
|
+
You can look up details on phone numbers with the Lookups API.
|
153
|
+
|
154
|
+
```ruby
|
155
|
+
require 'twilio-ruby'
|
156
|
+
|
157
|
+
# put your own credentials here
|
158
|
+
account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
159
|
+
auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
|
160
|
+
|
161
|
+
# set up a client to talk to the Twilio REST API
|
162
|
+
@lookups_client = Twilio::REST::LookupsClient.new account_sid, auth_token
|
163
|
+
|
164
|
+
# lookup a number
|
165
|
+
number = @lookups_client.phone_numbers.get('+14159341234')
|
166
|
+
|
167
|
+
# investigate the number
|
168
|
+
number.national_format
|
169
|
+
# => "(415) 934-1234"
|
170
|
+
number.country_code
|
171
|
+
# => "US"
|
172
|
+
```
|
173
|
+
|
150
174
|
## Getting Started With TwiML
|
151
175
|
|
152
176
|
TwiML support is based on the [Builder][builder] library. You can construct a
|
@@ -201,7 +225,7 @@ If you've instead found a bug in the library or would like new features added, g
|
|
201
225
|
## More Information
|
202
226
|
|
203
227
|
There are more detailed examples in the included [examples][examples]
|
204
|
-
directory. Also for
|
228
|
+
directory. Also for those upgrading, the [upgrade guide][upgrade] is available in the [twilio-ruby github wiki][wiki].
|
205
229
|
|
206
230
|
[capability]: https://github.com/twilio/twilio-ruby/wiki/Capability
|
207
231
|
[builder]: http://builder.rubyforge.org/
|
data/docs/index.rst
CHANGED
@@ -0,0 +1,62 @@
|
|
1
|
+
===========
|
2
|
+
Lookups API
|
3
|
+
===========
|
4
|
+
|
5
|
+
Lookups allows you to systematically ascertain information about phone numbers. With Lookups, you can identify local-friendly number formats, reduce the likelihood of undelivered messages and protect yourself from fraud.
|
6
|
+
|
7
|
+
For more information see the `Lookups API <https://www.twilio.com/docs/api/rest/lookups>`_ documentation.
|
8
|
+
|
9
|
+
Looking up details on a phone number
|
10
|
+
------------------------------------
|
11
|
+
|
12
|
+
You can look up a phone number with a :class:`Twilio::REST::LookupsClient`. You instantiate the client as you would with any other :class:`Twilio::REST` client
|
13
|
+
|
14
|
+
.. code-block:: ruby
|
15
|
+
|
16
|
+
require "twilio-ruby"
|
17
|
+
|
18
|
+
# Find these values at twilio.com/user/account
|
19
|
+
account_sid = "AC123123"
|
20
|
+
auth_token = "secret"
|
21
|
+
|
22
|
+
@lookups_client = Twilio::REST::LookupsClient.new account_sid, auth_token
|
23
|
+
|
24
|
+
You can then use the client to lookup a phone number.
|
25
|
+
|
26
|
+
.. code-block:: ruby
|
27
|
+
|
28
|
+
response = @lookups_client.phone_numbers.get("+12316851234")
|
29
|
+
response.country_code
|
30
|
+
# => "US"
|
31
|
+
response.phone_number
|
32
|
+
# => "+12316851234"
|
33
|
+
response.national_format
|
34
|
+
# => "(231) 685-1234"
|
35
|
+
response.url
|
36
|
+
# => "https://lookups.twilio.com/v1/PhoneNumbers/+12316851234"
|
37
|
+
|
38
|
+
Invalid Phone Numbers
|
39
|
+
---------------------
|
40
|
+
|
41
|
+
The Lookups API is a REST API that returns data on phone number resources. If you try to lookup a phone number that doesn't exist the API will raise a 404 :class:`Twilio::REST::RequestError`. You should handle this within your code.
|
42
|
+
|
43
|
+
.. code-block:: ruby
|
44
|
+
|
45
|
+
response = @lookups_client.phone_numbers.get("+15558675309")
|
46
|
+
begin
|
47
|
+
puts response.phone_number
|
48
|
+
rescue Twilio::REST::RequestError => e
|
49
|
+
raise e unless e.code == 20404 # ensure this is a 404 error
|
50
|
+
puts "Invalid number"
|
51
|
+
end
|
52
|
+
|
53
|
+
Carrier Information
|
54
|
+
-------------------
|
55
|
+
|
56
|
+
The Lookups API can be used to find out more information about the carrier for the phone number. Just pass the type "carrier" to the request.
|
57
|
+
|
58
|
+
.. code-block:: ruby
|
59
|
+
|
60
|
+
response = @lookups_client.phone_numbers.get("+12316851234", type: "carrier")
|
61
|
+
response.carrier
|
62
|
+
# => {"mobile_country_code"=>nil, "mobile_network_code"=>nil, "name"=>"Charter Fiberlink, LLC", "type"=>"landline", "error_code"=>nil}
|
@@ -6,7 +6,7 @@ module Twilio
|
|
6
6
|
include Twilio::REST::Utils
|
7
7
|
|
8
8
|
def get(number, query={})
|
9
|
-
full_path = "#{@path}/#{number}"
|
9
|
+
full_path = "#{@path}/#{URI.encode(number)}"
|
10
10
|
full_path << "?#{url_encode(twilify(query))}" if !query.empty?
|
11
11
|
@instance_class.new full_path, @client
|
12
12
|
end
|
data/lib/twilio-ruby/version.rb
CHANGED
@@ -5,4 +5,24 @@ describe Twilio::REST::Lookups::PhoneNumbers do
|
|
5
5
|
client = Twilio::REST::LookupsClient.new 'otherSid', 'otherToken'
|
6
6
|
expect(client).to respond_to(:phone_numbers)
|
7
7
|
end
|
8
|
+
|
9
|
+
it 'gets phone numbers without special encoding' do
|
10
|
+
number = '+13123131434'
|
11
|
+
client = Twilio::REST::LookupsClient.new 'otherSid', 'otherToken'
|
12
|
+
expect(client).to receive(:get).once
|
13
|
+
.with('/v1/PhoneNumbers/+13123131434')
|
14
|
+
.and_return({ phone_number: number })
|
15
|
+
phone_number = client.phone_numbers.get('+13123131434').phone_number
|
16
|
+
expect(phone_number).to be(number)
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'URI encodes phone number path parameters' do
|
20
|
+
number = '+13123131434'
|
21
|
+
client = Twilio::REST::LookupsClient.new 'otherSid', 'otherToken'
|
22
|
+
expect(client).to receive(:get).once
|
23
|
+
.with('/v1/PhoneNumbers/+1%20312%20313%201434')
|
24
|
+
.and_return({ phone_number: number })
|
25
|
+
phone_number = client.phone_numbers.get('+1 312 313 1434').phone_number
|
26
|
+
expect(phone_number).to be(number)
|
27
|
+
end
|
8
28
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class Twilio::REST::TaskRouter::StatisticsTestHarnessStatistics
|
4
|
+
def initialize(*args)
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
class StatisticsTestHarness
|
9
|
+
include Twilio::REST::TaskRouter::Statistics
|
10
|
+
|
11
|
+
def initialize(path, client)
|
12
|
+
@path = path
|
13
|
+
@client = client
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe Twilio::REST::TaskRouter::Statistics do
|
18
|
+
it "creates a new statistics object based on the class" do
|
19
|
+
client = double("Client")
|
20
|
+
allow(client).to receive(:get)
|
21
|
+
harness = StatisticsTestHarness.new("/test/harness", client)
|
22
|
+
expect(harness.statistics).to(
|
23
|
+
be_an_instance_of(Twilio::REST::TaskRouter::StatisticsTestHarnessStatistics)
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "passes parameters to the HTTP request for statistics" do
|
28
|
+
client = Twilio::REST::TaskRouterClient.new 'someSid', 'someAuthToken', 'someWorkspaceSid'
|
29
|
+
allow(Net::HTTP::Get).to receive(:new)
|
30
|
+
.with("/test/harness/Statistics?Minutes=15", Twilio::REST::BaseClient::HTTP_HEADERS)
|
31
|
+
.and_call_original
|
32
|
+
harness = StatisticsTestHarness.new("/test/harness", client)
|
33
|
+
expect(harness.statistics(minutes: 15)).to(
|
34
|
+
be_an_instance_of(Twilio::REST::TaskRouter::StatisticsTestHarnessStatistics)
|
35
|
+
)
|
36
|
+
end
|
37
|
+
end
|
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twilio-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2.
|
4
|
+
version: 4.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Benton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.3.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.3.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: builder
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 2.1.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 2.1.2
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: jwt
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.5'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.5'
|
69
69
|
description: A simple library for communicating with the Twilio REST API, building
|
@@ -76,8 +76,8 @@ extra_rdoc_files:
|
|
76
76
|
- README.md
|
77
77
|
- LICENSE.md
|
78
78
|
files:
|
79
|
-
- .gitignore
|
80
|
-
- .travis.yml
|
79
|
+
- ".gitignore"
|
80
|
+
- ".travis.yml"
|
81
81
|
- AUTHORS.md
|
82
82
|
- CHANGES.md
|
83
83
|
- Gemfile
|
@@ -112,6 +112,7 @@ files:
|
|
112
112
|
- docs/usage/caller-ids.rst
|
113
113
|
- docs/usage/conferences.rst
|
114
114
|
- docs/usage/errors.rst
|
115
|
+
- docs/usage/lookups.rst
|
115
116
|
- docs/usage/messages.rst
|
116
117
|
- docs/usage/notifications.rst
|
117
118
|
- docs/usage/phone-calls.rst
|
@@ -234,6 +235,7 @@ files:
|
|
234
235
|
- spec/rest/sms/message_spec.rb
|
235
236
|
- spec/rest/sms/messages_spec.rb
|
236
237
|
- spec/rest/task_router/reservation_spec.rb
|
238
|
+
- spec/rest/task_router/statistics_spec.rb
|
237
239
|
- spec/rest/task_router/task_queue_spec.rb
|
238
240
|
- spec/rest/token_spec.rb
|
239
241
|
- spec/rest/utils_spec.rb
|
@@ -253,27 +255,27 @@ licenses:
|
|
253
255
|
metadata: {}
|
254
256
|
post_install_message:
|
255
257
|
rdoc_options:
|
256
|
-
- --line-numbers
|
257
|
-
- --inline-source
|
258
|
-
- --title
|
258
|
+
- "--line-numbers"
|
259
|
+
- "--inline-source"
|
260
|
+
- "--title"
|
259
261
|
- twilio-ruby
|
260
|
-
- --main
|
262
|
+
- "--main"
|
261
263
|
- README.md
|
262
264
|
require_paths:
|
263
265
|
- lib
|
264
266
|
required_ruby_version: !ruby/object:Gem::Requirement
|
265
267
|
requirements:
|
266
|
-
- -
|
268
|
+
- - ">="
|
267
269
|
- !ruby/object:Gem::Version
|
268
270
|
version: 1.9.3
|
269
271
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
270
272
|
requirements:
|
271
|
-
- -
|
273
|
+
- - ">="
|
272
274
|
- !ruby/object:Gem::Version
|
273
275
|
version: '0'
|
274
276
|
requirements: []
|
275
277
|
rubyforge_project:
|
276
|
-
rubygems_version: 2.4.
|
278
|
+
rubygems_version: 2.4.5
|
277
279
|
signing_key:
|
278
280
|
specification_version: 4
|
279
281
|
summary: A simple library for communicating with the Twilio REST API, building TwiML,
|
@@ -298,6 +300,7 @@ test_files:
|
|
298
300
|
- spec/rest/sms/message_spec.rb
|
299
301
|
- spec/rest/sms/messages_spec.rb
|
300
302
|
- spec/rest/task_router/reservation_spec.rb
|
303
|
+
- spec/rest/task_router/statistics_spec.rb
|
301
304
|
- spec/rest/task_router/task_queue_spec.rb
|
302
305
|
- spec/rest/token_spec.rb
|
303
306
|
- spec/rest/utils_spec.rb
|