twilio-ruby 5.0.0.rc20 → 5.0.0.rc21
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 +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
|