twilio-ruby 5.62.0 → 5.63.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4de9f3e13c7d62d46dd01dc76c29a0053d5aebc2
4
- data.tar.gz: 840453ea3047e82252cff8e7a2938ff6a1ee3de7
3
+ metadata.gz: 582f6e6561bd6ee40a9aadaefc0e2550df5d565f
4
+ data.tar.gz: 8ec0f4c692bd66e1da3a7ea99d58f4ddaa8b6d0c
5
5
  SHA512:
6
- metadata.gz: 4e130c8595f487439b3a2791ba660dbe198661cada16c0c5bb088b12b8b6ba714fb3245841ce55a1c1c0837ec2830a6988ec4d3fea11cf3d945e655f935658a6
7
- data.tar.gz: 0e49320acd4390848bc5946626f8e999f9fdc2bfaef36efb6f027292cf3895ae295c473b4376ee4b44fc0a71a556fb47343adfba3370e17b36f078a308240be5
6
+ metadata.gz: 5864ca88585ee5e2f4952218d1c85180caac3e0b0c4361836e8cc850c2e1fc716f20d0fcd931df29e03e05e54ad4c5bb9c93d46eda5e6e94f8d3aee5a6aa0e64
7
+ data.tar.gz: 26560b4c09aa1161baac7ba7ac3c83bebe154b4a923e71e550e03742614c1d51e4ef086b747e83645c27f2092eb05a8c811f23f0f7636f0b8f6e191407513fa0
@@ -45,6 +45,14 @@ jobs:
45
45
  with:
46
46
  fetch-depth: 0
47
47
 
48
+ - name: Set up Ruby
49
+ uses: ruby/setup-ruby@v1
50
+ with:
51
+ ruby-version: 2.4
52
+ bundler-cache: true
53
+
54
+ - run: bundle install
55
+
48
56
  - name: Login to Docker Hub
49
57
  uses: docker/login-action@v1
50
58
  with:
@@ -55,16 +63,13 @@ jobs:
55
63
  - name: Get tagged version
56
64
  run: echo "GITHUB_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
57
65
 
66
+ - name: Create GitHub Release
67
+ uses: sendgrid/dx-automator/actions/release@main
68
+ env:
69
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70
+
58
71
  - name: Build and Push image
59
72
  run: make docker-build && make docker-push
60
-
61
- - name: Set up Ruby
62
- uses: ruby/setup-ruby@v1
63
- with:
64
- ruby-version: 2.4
65
- bundler-cache: true
66
-
67
- - run: bundle install
68
73
  - name: Publish to Rubygems
69
74
  env:
70
75
  GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_AUTH_TOKEN }}
data/CHANGES.md CHANGED
@@ -1,6 +1,28 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2022-01-12] Version 5.63.0
5
+ ---------------------------
6
+ **Library - Feature**
7
+ - [PR #586](https://github.com/twilio/twilio-ruby/pull/586): add GitHub release step during deploy. Thanks to [@childish-sambino](https://github.com/childish-sambino)!
8
+
9
+ **Library - Chore**
10
+ - [PR #584](https://github.com/twilio/twilio-ruby/pull/584): run yard in bundle context. Thanks to [@eshanholtz](https://github.com/eshanholtz)!
11
+ - [PR #583](https://github.com/twilio/twilio-ruby/pull/583): remove githook dependency from make install. Thanks to [@JenniferMah](https://github.com/JenniferMah)!
12
+
13
+ **Api**
14
+ - Make fixed time scheduling parameters public **(breaking change)**
15
+
16
+ **Messaging**
17
+ - Add update brand registration API
18
+
19
+ **Numbers**
20
+ - Add API endpoint for List Bundle Copies resource
21
+
22
+ **Video**
23
+ - Enable external storage for all customers
24
+
25
+
4
26
  [2021-12-15] Version 5.62.0
5
27
  ---------------------------
6
28
  **Library - Feature**
data/Makefile CHANGED
@@ -3,7 +3,7 @@
3
3
  githooks:
4
4
  ln -sf ../../githooks/pre-commit .git/hooks/pre-commit
5
5
 
6
- install: githooks
6
+ install:
7
7
  bundle install --with development; bundle exec rake install
8
8
 
9
9
  test: lint
@@ -13,7 +13,7 @@ lint:
13
13
  bundle exec rubocop -d --cache true --parallel
14
14
 
15
15
  docs:
16
- yard doc --output-dir ./doc
16
+ bundle exec yard doc --output-dir ./doc
17
17
 
18
18
  authors:
19
19
  echo "Authors\n=======\n\nA huge thanks to all of our contributors:\n\n" > AUTHORS.md
data/README.md CHANGED
@@ -35,13 +35,13 @@ This library supports the following Ruby implementations:
35
35
  To install using [Bundler][bundler] grab the latest stable version:
36
36
 
37
37
  ```ruby
38
- gem 'twilio-ruby', '~> 5.62.0'
38
+ gem 'twilio-ruby', '~> 5.63.0'
39
39
  ```
40
40
 
41
41
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
42
42
 
43
43
  ```bash
44
- gem install twilio-ruby -v 5.62.0
44
+ gem install twilio-ruby -v 5.63.0
45
45
  ```
46
46
 
47
47
  To build and install the development branch yourself from the latest source:
@@ -78,6 +78,10 @@ module Twilio
78
78
  # @param [Boolean] smart_encoded Whether to detect Unicode characters that have a
79
79
  # similar GSM-7 character and replace them. Can be: `true` or `false`.
80
80
  # @param [Array[String]] persistent_action Rich actions for Channels Messages.
81
+ # @param [message.ScheduleType] schedule_type Indicates your intent to schedule a
82
+ # message. Pass the value `fixed` to schedule a message at a fixed time.
83
+ # @param [Time] send_at The time that Twilio will send the message. Must be in ISO
84
+ # 8601 format.
81
85
  # @param [Boolean] send_as_mms If set to True, Twilio will deliver the message as
82
86
  # a single MMS message, regardless of the presence of media. This is a Beta
83
87
  # Feature.
@@ -111,7 +115,7 @@ module Twilio
111
115
  # parameters in the POST request. You can include up to 10 `media_url` parameters
112
116
  # per message. You can send images in an SMS message in only the US and Canada.
113
117
  # @return [MessageInstance] Created MessageInstance
114
- def create(to: nil, status_callback: :unset, application_sid: :unset, max_price: :unset, provide_feedback: :unset, attempt: :unset, validity_period: :unset, force_delivery: :unset, content_retention: :unset, address_retention: :unset, smart_encoded: :unset, persistent_action: :unset, send_as_mms: :unset, from: :unset, messaging_service_sid: :unset, body: :unset, media_url: :unset)
118
+ def create(to: nil, status_callback: :unset, application_sid: :unset, max_price: :unset, provide_feedback: :unset, attempt: :unset, validity_period: :unset, force_delivery: :unset, content_retention: :unset, address_retention: :unset, smart_encoded: :unset, persistent_action: :unset, schedule_type: :unset, send_at: :unset, send_as_mms: :unset, from: :unset, messaging_service_sid: :unset, body: :unset, media_url: :unset)
115
119
  data = Twilio::Values.of({
116
120
  'To' => to,
117
121
  'From' => from,
@@ -129,6 +133,8 @@ module Twilio
129
133
  'AddressRetention' => address_retention,
130
134
  'SmartEncoded' => smart_encoded,
131
135
  'PersistentAction' => Twilio.serialize_list(persistent_action) { |e| e },
136
+ 'ScheduleType' => schedule_type,
137
+ 'SendAt' => Twilio.serialize_iso8601_datetime(send_at),
132
138
  'SendAsMms' => send_as_mms,
133
139
  })
134
140
 
@@ -333,9 +339,11 @@ module Twilio
333
339
  # Update the MessageInstance
334
340
  # @param [String] body The text of the message you want to send. Can be up to
335
341
  # 1,600 characters long.
342
+ # @param [message.UpdateStatus] status When set as `canceled`, allows a message
343
+ # cancelation request if a message has not yet been sent.
336
344
  # @return [MessageInstance] Updated MessageInstance
337
- def update(body: :unset)
338
- data = Twilio::Values.of({'Body' => body, })
345
+ def update(body: :unset, status: :unset)
346
+ data = Twilio::Values.of({'Body' => body, 'Status' => status, })
339
347
 
340
348
  payload = @version.update('POST', @uri, data: data)
341
349
 
@@ -583,9 +591,11 @@ module Twilio
583
591
  # Update the MessageInstance
584
592
  # @param [String] body The text of the message you want to send. Can be up to
585
593
  # 1,600 characters long.
594
+ # @param [message.UpdateStatus] status When set as `canceled`, allows a message
595
+ # cancelation request if a message has not yet been sent.
586
596
  # @return [MessageInstance] Updated MessageInstance
587
- def update(body: :unset)
588
- context.update(body: body, )
597
+ def update(body: :unset, status: :unset)
598
+ context.update(body: body, status: status, )
589
599
  end
590
600
 
591
601
  ##
@@ -198,6 +198,15 @@ module Twilio
198
198
  BrandRegistrationInstance.new(@version, payload, sid: @solution[:sid], )
199
199
  end
200
200
 
201
+ ##
202
+ # Update the BrandRegistrationInstance
203
+ # @return [BrandRegistrationInstance] Updated BrandRegistrationInstance
204
+ def update
205
+ payload = @version.update('POST', @uri)
206
+
207
+ BrandRegistrationInstance.new(@version, payload, sid: @solution[:sid], )
208
+ end
209
+
201
210
  ##
202
211
  # Access the brand_vettings
203
212
  # @return [BrandVettingList]
@@ -403,6 +412,13 @@ module Twilio
403
412
  context.fetch
404
413
  end
405
414
 
415
+ ##
416
+ # Update the BrandRegistrationInstance
417
+ # @return [BrandRegistrationInstance] Updated BrandRegistrationInstance
418
+ def update
419
+ context.update
420
+ end
421
+
406
422
  ##
407
423
  # Access the brand_vettings
408
424
  # @return [brand_vettings] brand_vettings
@@ -42,6 +42,86 @@ module Twilio
42
42
  BundleCopyInstance.new(@version, payload, bundle_sid: @solution[:bundle_sid], )
43
43
  end
44
44
 
45
+ ##
46
+ # Lists BundleCopyInstance records from the API as a list.
47
+ # Unlike stream(), this operation is eager and will load `limit` records into
48
+ # memory before returning.
49
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
50
+ # guarantees to never return more than limit. Default is no limit
51
+ # @param [Integer] page_size Number of records to fetch per request, when
52
+ # not set will use the default value of 50 records. If no page_size is defined
53
+ # but a limit is defined, stream() will attempt to read the limit with the most
54
+ # efficient page size, i.e. min(limit, 1000)
55
+ # @return [Array] Array of up to limit results
56
+ def list(limit: nil, page_size: nil)
57
+ self.stream(limit: limit, page_size: page_size).entries
58
+ end
59
+
60
+ ##
61
+ # Streams BundleCopyInstance records from the API as an Enumerable.
62
+ # This operation lazily loads records as efficiently as possible until the limit
63
+ # is reached.
64
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
65
+ # guarantees to never return more than limit. Default is no limit.
66
+ # @param [Integer] page_size Number of records to fetch per request, when
67
+ # not set will use the default value of 50 records. If no page_size is defined
68
+ # but a limit is defined, stream() will attempt to read the limit with the most
69
+ # efficient page size, i.e. min(limit, 1000)
70
+ # @return [Enumerable] Enumerable that will yield up to limit results
71
+ def stream(limit: nil, page_size: nil)
72
+ limits = @version.read_limits(limit, page_size)
73
+
74
+ page = self.page(page_size: limits[:page_size], )
75
+
76
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
77
+ end
78
+
79
+ ##
80
+ # When passed a block, yields BundleCopyInstance records from the API.
81
+ # This operation lazily loads records as efficiently as possible until the limit
82
+ # is reached.
83
+ def each
84
+ limits = @version.read_limits
85
+
86
+ page = self.page(page_size: limits[:page_size], )
87
+
88
+ @version.stream(page,
89
+ limit: limits[:limit],
90
+ page_limit: limits[:page_limit]).each {|x| yield x}
91
+ end
92
+
93
+ ##
94
+ # Retrieve a single page of BundleCopyInstance records from the API.
95
+ # Request is executed immediately.
96
+ # @param [String] page_token PageToken provided by the API
97
+ # @param [Integer] page_number Page Number, this value is simply for client state
98
+ # @param [Integer] page_size Number of records to return, defaults to 50
99
+ # @return [Page] Page of BundleCopyInstance
100
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
101
+ params = Twilio::Values.of({
102
+ 'PageToken' => page_token,
103
+ 'Page' => page_number,
104
+ 'PageSize' => page_size,
105
+ })
106
+
107
+ response = @version.page('GET', @uri, params: params)
108
+
109
+ BundleCopyPage.new(@version, response, @solution)
110
+ end
111
+
112
+ ##
113
+ # Retrieve a single page of BundleCopyInstance records from the API.
114
+ # Request is executed immediately.
115
+ # @param [String] target_url API-generated URL for the requested results page
116
+ # @return [Page] Page of BundleCopyInstance
117
+ def get_page(target_url)
118
+ response = @version.domain.request(
119
+ 'GET',
120
+ target_url
121
+ )
122
+ BundleCopyPage.new(@version, response, @solution)
123
+ end
124
+
45
125
  ##
46
126
  # Provide a user friendly representation
47
127
  def to_s
@@ -334,6 +334,7 @@ module Twilio
334
334
  'bitrate' => payload['bitrate'].to_i,
335
335
  'size' => payload['size'].to_i,
336
336
  'duration' => payload['duration'].to_i,
337
+ 'media_external_location' => payload['media_external_location'],
337
338
  'url' => payload['url'],
338
339
  'links' => payload['links'],
339
340
  }
@@ -450,6 +451,12 @@ module Twilio
450
451
  @properties['duration']
451
452
  end
452
453
 
454
+ ##
455
+ # @return [String] The URL of the media file associated with the composition when stored externally
456
+ def media_external_location
457
+ @properties['media_external_location']
458
+ end
459
+
453
460
  ##
454
461
  # @return [String] The absolute URL of the resource
455
462
  def url
@@ -272,6 +272,7 @@ module Twilio
272
272
  'grouping_sids' => payload['grouping_sids'],
273
273
  'track_name' => payload['track_name'],
274
274
  'offset' => payload['offset'].to_i,
275
+ 'media_external_location' => payload['media_external_location'],
275
276
  'links' => payload['links'],
276
277
  }
277
278
 
@@ -375,6 +376,12 @@ module Twilio
375
376
  @properties['offset']
376
377
  end
377
378
 
379
+ ##
380
+ # @return [String] The URL of the media file associated with the recording when stored externally
381
+ def media_external_location
382
+ @properties['media_external_location']
383
+ end
384
+
378
385
  ##
379
386
  # @return [String] The URLs of related resources
380
387
  def links
@@ -255,6 +255,7 @@ module Twilio
255
255
  'grouping_sids' => payload['grouping_sids'],
256
256
  'track_name' => payload['track_name'],
257
257
  'offset' => payload['offset'].to_i,
258
+ 'media_external_location' => payload['media_external_location'],
258
259
  'room_sid' => payload['room_sid'],
259
260
  'links' => payload['links'],
260
261
  }
@@ -359,6 +360,12 @@ module Twilio
359
360
  @properties['offset']
360
361
  end
361
362
 
363
+ ##
364
+ # @return [String] The URL of the media file associated with the recording when stored externally
365
+ def media_external_location
366
+ @properties['media_external_location']
367
+ end
368
+
362
369
  ##
363
370
  # @return [String] The SID of the Room resource the recording is associated with
364
371
  def room_sid
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '5.62.0'
2
+ VERSION = '5.63.0'
3
3
  end
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: 5.62.0
4
+ version: 5.63.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twilio API Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-15 00:00:00.000000000 Z
11
+ date: 2022-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt