twilio-ruby 5.0.0.rc20 → 5.0.0.rc21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +9 -3
- data/README.md +2 -2
- data/lib/twilio-ruby/http/http_client.rb +0 -1
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +196 -0
- data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +197 -0
- data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +232 -0
- data/lib/twilio-ruby/rest/preview/bulk_exports.rb +44 -0
- data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +517 -0
- data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +35 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +336 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +393 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +409 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +479 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +506 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +336 -0
- data/lib/twilio-ruby/rest/preview/proxy/service.rb +467 -0
- data/lib/twilio-ruby/rest/preview/proxy.rb +35 -0
- data/lib/twilio-ruby/rest/preview.rb +34 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/integration/preview/bulk_exports/export/day_spec.rb +56 -0
- data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +79 -0
- data/spec/integration/preview/bulk_exports/export_spec.rb +43 -0
- data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +277 -0
- data/spec/integration/preview/proxy/service/phone_number_spec.rb +173 -0
- data/spec/integration/preview/proxy/service/session/interaction_spec.rb +104 -0
- data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +164 -0
- data/spec/integration/preview/proxy/service/session/participant_spec.rb +226 -0
- data/spec/integration/preview/proxy/service/session_spec.rb +216 -0
- data/spec/integration/preview/proxy/service/short_code_spec.rb +173 -0
- data/spec/integration/preview/proxy/service_spec.rb +200 -0
- metadata +38 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d37f870e4dc93660634ee065e3d21804db16b380
|
4
|
+
data.tar.gz: 95b5156b35166aaa495bfd9955a2af205568f072
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5adc69016e3495368a5df9d08b39b61102317b5fdb86fad9689b34bb22c9f12387b0322b240c46e24efc18695b54afafbbd124af07b0b9adc2451ea1ab4d0025
|
7
|
+
data.tar.gz: 162a06e0b7d8e35971977cdff185219f17b824bd346bdc6e4c884fba909741e3552b92fd8ce2e6f29b879033c91354d939b8048faa5b257761f46a19e4ce58f1
|
data/CHANGES.md
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
twilio-ruby changelog
|
2
2
|
=====================
|
3
|
+
[2017-05-24] Version 5.0.0-rc21
|
4
|
+
-------------------------------
|
5
|
+
- Add HostedNumbers preview support.
|
6
|
+
- Add Proxy preview support.
|
7
|
+
- Add BulkExports preview support.
|
3
8
|
|
4
9
|
[2017-05-22] Version 5.0.0-rc20
|
10
|
+
-------------------------------
|
5
11
|
- Add Wireless Domain
|
6
12
|
- Add Fax Domain
|
7
13
|
- Add Video Domain
|
@@ -10,7 +16,7 @@ twilio-ruby changelog
|
|
10
16
|
- Converted `TwilioException` to `TwilioError`
|
11
17
|
|
12
18
|
[2017-04-27] Version 5.0.0-rc19
|
13
|
-
|
19
|
+
-------------------------------
|
14
20
|
|
15
21
|
- Add chat v2.
|
16
22
|
- Wireless rate plans updates.
|
@@ -18,14 +24,14 @@ twilio-ruby changelog
|
|
18
24
|
- New Usage API categories.
|
19
25
|
|
20
26
|
Version 5.0.0-rc18
|
21
|
-
|
27
|
+
-------------------------------
|
22
28
|
|
23
29
|
Release April 17, 2017
|
24
30
|
|
25
31
|
- Update VideoGrant access token to accept `room` instead of `configuration_profile_sid`
|
26
32
|
|
27
33
|
Version 5.0.0-rc16
|
28
|
-
|
34
|
+
-------------------------------
|
29
35
|
|
30
36
|
Release September 1, 2016
|
31
37
|
|
data/README.md
CHANGED
@@ -11,13 +11,13 @@ 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', '~> 5.0.0.
|
14
|
+
gem 'twilio-ruby', '~> 5.0.0.rc21'
|
15
15
|
```
|
16
16
|
|
17
17
|
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
18
18
|
|
19
19
|
```bash
|
20
|
-
gem install twilio-ruby -v 5.0.0.
|
20
|
+
gem install twilio-ruby -v 5.0.0.rc21
|
21
21
|
```
|
22
22
|
|
23
23
|
To build and install the development branch yourself from the latest source:
|
@@ -18,7 +18,6 @@ module Twilio
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def request(host, port, method, url, params={}, data={}, headers={}, auth=nil, timeout=nil)
|
21
|
-
puts(url)
|
22
21
|
@connection = Faraday.new(url: host + ":" + port.to_s, ssl: {verify: true}) do |f|
|
23
22
|
f.request :url_encoded
|
24
23
|
f.adapter @adapter
|
@@ -0,0 +1,196 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
|
7
|
+
module Twilio
|
8
|
+
module REST
|
9
|
+
class Preview < Domain
|
10
|
+
class BulkExports < Version
|
11
|
+
class ExportContext < InstanceContext
|
12
|
+
class DayList < ListResource
|
13
|
+
##
|
14
|
+
# Initialize the DayList
|
15
|
+
# @param [Version] version Version that contains the resource
|
16
|
+
# @param [String] resource_type The resource_type
|
17
|
+
# @return [DayList] DayList
|
18
|
+
def initialize(version, resource_type: nil)
|
19
|
+
super(version)
|
20
|
+
|
21
|
+
# Path Solution
|
22
|
+
@solution = {
|
23
|
+
resource_type: resource_type
|
24
|
+
}
|
25
|
+
@uri = "/Exports/#{@solution[:resource_type]}/Days"
|
26
|
+
end
|
27
|
+
|
28
|
+
##
|
29
|
+
# Lists DayInstance records from the API as a list.
|
30
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
31
|
+
# memory before returning.
|
32
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
33
|
+
# guarantees to never return more than limit. Default is no limit
|
34
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
35
|
+
# the default value of 50 records. If no page_size is defined
|
36
|
+
# but a limit is defined, stream() will attempt to read the
|
37
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
38
|
+
# @return [Array] Array of up to limit results
|
39
|
+
def list(limit: nil, page_size: nil)
|
40
|
+
self.stream(
|
41
|
+
limit: limit,
|
42
|
+
page_size: page_size
|
43
|
+
).entries
|
44
|
+
end
|
45
|
+
|
46
|
+
##
|
47
|
+
# Streams DayInstance records from the API as an Enumerable.
|
48
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
49
|
+
# is reached.
|
50
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
51
|
+
# guarantees to never return more than limit. Default is no limit
|
52
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
53
|
+
# the default value of 50 records. If no page_size is defined
|
54
|
+
# but a limit is defined, stream() will attempt to read the
|
55
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
56
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
57
|
+
def stream(limit: nil, page_size: nil)
|
58
|
+
limits = @version.read_limits(limit, page_size)
|
59
|
+
|
60
|
+
page = self.page(
|
61
|
+
page_size: limits[:page_size],
|
62
|
+
)
|
63
|
+
|
64
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
65
|
+
end
|
66
|
+
|
67
|
+
##
|
68
|
+
# When passed a block, yields DayInstance records from the API.
|
69
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
70
|
+
# is reached.
|
71
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
72
|
+
# guarantees to never return more than limit. Default is no limit
|
73
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
74
|
+
# the default value of 50 records. If no page_size is defined
|
75
|
+
# but a limit is defined, stream() will attempt to read the
|
76
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
77
|
+
def each
|
78
|
+
limits = @version.read_limits
|
79
|
+
|
80
|
+
page = self.page(
|
81
|
+
page_size: limits[:page_size],
|
82
|
+
)
|
83
|
+
|
84
|
+
@version.stream(page,
|
85
|
+
limit: limits[:limit],
|
86
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
87
|
+
end
|
88
|
+
|
89
|
+
##
|
90
|
+
# Retrieve a single page of DayInstance records from the API.
|
91
|
+
# Request is executed immediately.
|
92
|
+
# @param [String] page_token PageToken provided by the API
|
93
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
94
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
95
|
+
# @return [Page] Page of DayInstance
|
96
|
+
def page(page_token: nil, page_number: nil, page_size: nil)
|
97
|
+
params = {
|
98
|
+
'PageToken' => page_token,
|
99
|
+
'Page' => page_number,
|
100
|
+
'PageSize' => page_size,
|
101
|
+
}
|
102
|
+
response = @version.page(
|
103
|
+
'GET',
|
104
|
+
@uri,
|
105
|
+
params
|
106
|
+
)
|
107
|
+
return DayPage.new(@version, response, @solution)
|
108
|
+
end
|
109
|
+
|
110
|
+
##
|
111
|
+
# Provide a user friendly representation
|
112
|
+
def to_s
|
113
|
+
'#<Twilio.Preview.BulkExports.DayList>'
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
class DayPage < Page
|
118
|
+
##
|
119
|
+
# Initialize the DayPage
|
120
|
+
# @param [Version] version Version that contains the resource
|
121
|
+
# @param [Response] response Response from the API
|
122
|
+
# @param [Hash] solution Path solution for the resource
|
123
|
+
# @param [String] resource_type The resource_type
|
124
|
+
# @return [DayPage] DayPage
|
125
|
+
def initialize(version, response, solution)
|
126
|
+
super(version, response)
|
127
|
+
|
128
|
+
# Path Solution
|
129
|
+
@solution = solution
|
130
|
+
end
|
131
|
+
|
132
|
+
##
|
133
|
+
# Build an instance of DayInstance
|
134
|
+
# @param [Hash] payload Payload response from the API
|
135
|
+
# @return [DayInstance] DayInstance
|
136
|
+
def get_instance(payload)
|
137
|
+
return DayInstance.new(
|
138
|
+
@version,
|
139
|
+
payload,
|
140
|
+
resource_type: @solution[:resource_type],
|
141
|
+
)
|
142
|
+
end
|
143
|
+
|
144
|
+
##
|
145
|
+
# Provide a user friendly representation
|
146
|
+
def to_s
|
147
|
+
'<Twilio.Preview.BulkExports.DayPage>'
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
class DayInstance < InstanceResource
|
152
|
+
##
|
153
|
+
# Initialize the DayInstance
|
154
|
+
# @param [Version] version Version that contains the resource
|
155
|
+
# @param [Hash] payload payload that contains response from Twilio
|
156
|
+
# @param [String] resource_type The resource_type
|
157
|
+
# @return [DayInstance] DayInstance
|
158
|
+
def initialize(version, payload, resource_type: nil)
|
159
|
+
super(version)
|
160
|
+
|
161
|
+
# Marshaled Properties
|
162
|
+
@properties = {
|
163
|
+
'redirect_to' => payload['redirect_to'],
|
164
|
+
'day' => payload['day'],
|
165
|
+
'size' => payload['size'].to_i,
|
166
|
+
'resource_type' => payload['resource_type'],
|
167
|
+
}
|
168
|
+
end
|
169
|
+
|
170
|
+
def redirect_to
|
171
|
+
@properties['redirect_to']
|
172
|
+
end
|
173
|
+
|
174
|
+
def day
|
175
|
+
@properties['day']
|
176
|
+
end
|
177
|
+
|
178
|
+
def size
|
179
|
+
@properties['size']
|
180
|
+
end
|
181
|
+
|
182
|
+
def resource_type
|
183
|
+
@properties['resource_type']
|
184
|
+
end
|
185
|
+
|
186
|
+
##
|
187
|
+
# Provide a user friendly representation
|
188
|
+
def to_s
|
189
|
+
"<Twilio.Preview.BulkExports.DayInstance>"
|
190
|
+
end
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|
@@ -0,0 +1,197 @@
|
|
1
|
+
##
|
2
|
+
# This code was generated by
|
3
|
+
# \ / _ _ _| _ _
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
5
|
+
# / /
|
6
|
+
|
7
|
+
module Twilio
|
8
|
+
module REST
|
9
|
+
class Preview < Domain
|
10
|
+
class BulkExports < Version
|
11
|
+
class ExportList < ListResource
|
12
|
+
##
|
13
|
+
# Initialize the ExportList
|
14
|
+
# @param [Version] version Version that contains the resource
|
15
|
+
# @return [ExportList] ExportList
|
16
|
+
def initialize(version)
|
17
|
+
super(version)
|
18
|
+
|
19
|
+
# Path Solution
|
20
|
+
@solution = {}
|
21
|
+
end
|
22
|
+
|
23
|
+
##
|
24
|
+
# Provide a user friendly representation
|
25
|
+
def to_s
|
26
|
+
'#<Twilio.Preview.BulkExports.ExportList>'
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class ExportPage < Page
|
31
|
+
##
|
32
|
+
# Initialize the ExportPage
|
33
|
+
# @param [Version] version Version that contains the resource
|
34
|
+
# @param [Response] response Response from the API
|
35
|
+
# @param [Hash] solution Path solution for the resource
|
36
|
+
# @return [ExportPage] ExportPage
|
37
|
+
def initialize(version, response, solution)
|
38
|
+
super(version, response)
|
39
|
+
|
40
|
+
# Path Solution
|
41
|
+
@solution = solution
|
42
|
+
end
|
43
|
+
|
44
|
+
##
|
45
|
+
# Build an instance of ExportInstance
|
46
|
+
# @param [Hash] payload Payload response from the API
|
47
|
+
# @return [ExportInstance] ExportInstance
|
48
|
+
def get_instance(payload)
|
49
|
+
return ExportInstance.new(
|
50
|
+
@version,
|
51
|
+
payload,
|
52
|
+
)
|
53
|
+
end
|
54
|
+
|
55
|
+
##
|
56
|
+
# Provide a user friendly representation
|
57
|
+
def to_s
|
58
|
+
'<Twilio.Preview.BulkExports.ExportPage>'
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
class ExportContext < InstanceContext
|
63
|
+
##
|
64
|
+
# Initialize the ExportContext
|
65
|
+
# @param [Version] version Version that contains the resource
|
66
|
+
# @param [String] resource_type The resource_type
|
67
|
+
# @return [ExportContext] ExportContext
|
68
|
+
def initialize(version, resource_type)
|
69
|
+
super(version)
|
70
|
+
|
71
|
+
# Path Solution
|
72
|
+
@solution = {
|
73
|
+
resource_type: resource_type,
|
74
|
+
}
|
75
|
+
@uri = "/Exports/#{@solution[:resource_type]}"
|
76
|
+
|
77
|
+
# Dependents
|
78
|
+
@days = nil
|
79
|
+
end
|
80
|
+
|
81
|
+
##
|
82
|
+
# Fetch a ExportInstance
|
83
|
+
# @return [ExportInstance] Fetched ExportInstance
|
84
|
+
def fetch
|
85
|
+
params = {}
|
86
|
+
|
87
|
+
payload = @version.fetch(
|
88
|
+
'GET',
|
89
|
+
@uri,
|
90
|
+
params,
|
91
|
+
)
|
92
|
+
|
93
|
+
return ExportInstance.new(
|
94
|
+
@version,
|
95
|
+
payload,
|
96
|
+
resource_type: @solution[:resource_type],
|
97
|
+
)
|
98
|
+
end
|
99
|
+
|
100
|
+
##
|
101
|
+
# Access the days
|
102
|
+
# @return [DayList] DayList
|
103
|
+
def days
|
104
|
+
unless @days
|
105
|
+
@days = DayList.new(
|
106
|
+
@version,
|
107
|
+
resource_type: @solution[:resource_type],
|
108
|
+
)
|
109
|
+
end
|
110
|
+
|
111
|
+
@days
|
112
|
+
end
|
113
|
+
|
114
|
+
##
|
115
|
+
# Provide a user friendly representation
|
116
|
+
def to_s
|
117
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
118
|
+
"#<Twilio.Preview.BulkExports.ExportContext #{context}>"
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
class ExportInstance < InstanceResource
|
123
|
+
##
|
124
|
+
# Initialize the ExportInstance
|
125
|
+
# @param [Version] version Version that contains the resource
|
126
|
+
# @param [Hash] payload payload that contains response from Twilio
|
127
|
+
# @param [String] resource_type The resource_type
|
128
|
+
# @return [ExportInstance] ExportInstance
|
129
|
+
def initialize(version, payload, resource_type: nil)
|
130
|
+
super(version)
|
131
|
+
|
132
|
+
# Marshaled Properties
|
133
|
+
@properties = {
|
134
|
+
'resource_type' => payload['resource_type'],
|
135
|
+
'url' => payload['url'],
|
136
|
+
'links' => payload['links'],
|
137
|
+
}
|
138
|
+
|
139
|
+
# Context
|
140
|
+
@instance_context = nil
|
141
|
+
@params = {
|
142
|
+
'resource_type' => resource_type || @properties['resource_type'],
|
143
|
+
}
|
144
|
+
end
|
145
|
+
|
146
|
+
##
|
147
|
+
# Generate an instance context for the instance, the context is capable of
|
148
|
+
# performing various actions. All instance actions are proxied to the context
|
149
|
+
# @param [Version] version Version that contains the resource
|
150
|
+
# @return [ExportContext] ExportContext for this ExportInstance
|
151
|
+
def context
|
152
|
+
unless @instance_context
|
153
|
+
@instance_context = ExportContext.new(
|
154
|
+
@version,
|
155
|
+
@params['resource_type'],
|
156
|
+
)
|
157
|
+
end
|
158
|
+
@instance_context
|
159
|
+
end
|
160
|
+
|
161
|
+
def resource_type
|
162
|
+
@properties['resource_type']
|
163
|
+
end
|
164
|
+
|
165
|
+
def url
|
166
|
+
@properties['url']
|
167
|
+
end
|
168
|
+
|
169
|
+
def links
|
170
|
+
@properties['links']
|
171
|
+
end
|
172
|
+
|
173
|
+
##
|
174
|
+
# Fetch a ExportInstance
|
175
|
+
# @return [ExportInstance] Fetched ExportInstance
|
176
|
+
def fetch
|
177
|
+
context.fetch
|
178
|
+
end
|
179
|
+
|
180
|
+
##
|
181
|
+
# Access the days
|
182
|
+
# @return [days] days
|
183
|
+
def days
|
184
|
+
context.days
|
185
|
+
end
|
186
|
+
|
187
|
+
##
|
188
|
+
# Provide a user friendly representation
|
189
|
+
def to_s
|
190
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
191
|
+
"<Twilio.Preview.BulkExports.ExportInstance #{values}>"
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|