twilio-ruby 5.61.1 → 5.63.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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +124 -0
  3. data/.rubocop.yml +1 -1
  4. data/.rubocop_todo.yml +84 -21
  5. data/CHANGES.md +96 -0
  6. data/Makefile +3 -6
  7. data/README.md +4 -4
  8. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  9. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +19 -5
  10. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  11. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +8 -0
  12. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +14 -0
  13. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +33 -18
  14. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +483 -0
  15. data/lib/twilio-ruby/rest/insights/v1/conference.rb +484 -0
  16. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  17. data/lib/twilio-ruby/rest/insights/v1.rb +23 -0
  18. data/lib/twilio-ruby/rest/insights.rb +14 -0
  19. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +14 -1
  20. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +23 -0
  21. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +80 -0
  22. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
  23. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +416 -0
  24. data/lib/twilio-ruby/rest/supersim/v1.rb +32 -0
  25. data/lib/twilio-ruby/rest/supersim.rb +18 -0
  26. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +138 -10
  27. data/lib/twilio-ruby/rest/verify/v2/service.rb +8 -2
  28. data/lib/twilio-ruby/rest/video/v1/composition.rb +7 -0
  29. data/lib/twilio-ruby/rest/video/v1/recording.rb +7 -0
  30. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +7 -0
  31. data/lib/twilio-ruby/rest/video/v1/room.rb +34 -1
  32. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  33. data/lib/twilio-ruby/rest/voice/v1.rb +21 -0
  34. data/lib/twilio-ruby/rest/voice.rb +8 -0
  35. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +4 -4
  36. data/lib/twilio-ruby/version.rb +1 -1
  37. data/sonar-project.properties +1 -1
  38. data/twilio-ruby.gemspec +0 -1
  39. metadata +10 -18
  40. data/.github/workflows/deploy.yml +0 -65
  41. data/.github/workflows/test.yml +0 -51
@@ -442,8 +442,14 @@ module Twilio
442
442
  ##
443
443
  # Access the access_tokens
444
444
  # @return [AccessTokenList]
445
- # @return [AccessTokenContext]
446
- def access_tokens
445
+ # @return [AccessTokenContext] if sid was passed.
446
+ def access_tokens(sid=:unset)
447
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
448
+
449
+ if sid != :unset
450
+ return AccessTokenContext.new(@version, @solution[:sid], sid, )
451
+ end
452
+
447
453
  unless @access_tokens
448
454
  @access_tokens = AccessTokenList.new(@version, service_sid: @solution[:sid], )
449
455
  end
@@ -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
@@ -60,8 +60,17 @@ module Twilio
60
60
  # @param [Boolean] audio_only When set to true, indicates that the participants in
61
61
  # the room will only publish audio. No video tracks will be allowed. Group rooms
62
62
  # only.
63
+ # @param [String] max_participant_duration The maximum number of seconds a
64
+ # Participant can be connected to the room. The maximum possible value is 86400
65
+ # seconds (24 hours). The default is 14400 seconds (4 hours).
66
+ # @param [String] empty_room_timeout Configures how long (in minutes) a room will
67
+ # remain active after last participant leaves. Valid values range from 1 to 60
68
+ # minutes (no fractions).
69
+ # @param [String] unused_room_timeout Configures how long (in minutes) a room will
70
+ # remain active if no one joins. Valid values range from 1 to 60 minutes (no
71
+ # fractions).
63
72
  # @return [RoomInstance] Created RoomInstance
64
- def create(enable_turn: :unset, type: :unset, unique_name: :unset, status_callback: :unset, status_callback_method: :unset, max_participants: :unset, record_participants_on_connect: :unset, video_codecs: :unset, media_region: :unset, recording_rules: :unset, audio_only: :unset)
73
+ def create(enable_turn: :unset, type: :unset, unique_name: :unset, status_callback: :unset, status_callback_method: :unset, max_participants: :unset, record_participants_on_connect: :unset, video_codecs: :unset, media_region: :unset, recording_rules: :unset, audio_only: :unset, max_participant_duration: :unset, empty_room_timeout: :unset, unused_room_timeout: :unset)
65
74
  data = Twilio::Values.of({
66
75
  'EnableTurn' => enable_turn,
67
76
  'Type' => type,
@@ -74,6 +83,9 @@ module Twilio
74
83
  'MediaRegion' => media_region,
75
84
  'RecordingRules' => Twilio.serialize_object(recording_rules),
76
85
  'AudioOnly' => audio_only,
86
+ 'MaxParticipantDuration' => max_participant_duration,
87
+ 'EmptyRoomTimeout' => empty_room_timeout,
88
+ 'UnusedRoomTimeout' => unused_room_timeout,
77
89
  })
78
90
 
79
91
  payload = @version.create('POST', @uri, data: data)
@@ -364,11 +376,14 @@ module Twilio
364
376
  'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
365
377
  'type' => payload['type'],
366
378
  'max_participants' => payload['max_participants'].to_i,
379
+ 'max_participant_duration' => payload['max_participant_duration'].to_i,
367
380
  'max_concurrent_published_tracks' => payload['max_concurrent_published_tracks'] == nil ? payload['max_concurrent_published_tracks'] : payload['max_concurrent_published_tracks'].to_i,
368
381
  'record_participants_on_connect' => payload['record_participants_on_connect'],
369
382
  'video_codecs' => payload['video_codecs'],
370
383
  'media_region' => payload['media_region'],
371
384
  'audio_only' => payload['audio_only'],
385
+ 'empty_room_timeout' => payload['empty_room_timeout'].to_i,
386
+ 'unused_room_timeout' => payload['unused_room_timeout'].to_i,
372
387
  'url' => payload['url'],
373
388
  'links' => payload['links'],
374
389
  }
@@ -467,6 +482,12 @@ module Twilio
467
482
  @properties['max_participants']
468
483
  end
469
484
 
485
+ ##
486
+ # @return [String] The maximum number of seconds a Participant can be connected to the room
487
+ def max_participant_duration
488
+ @properties['max_participant_duration']
489
+ end
490
+
470
491
  ##
471
492
  # @return [String] The maximum number of published tracks allowed in the room at the same time
472
493
  def max_concurrent_published_tracks
@@ -497,6 +518,18 @@ module Twilio
497
518
  @properties['audio_only']
498
519
  end
499
520
 
521
+ ##
522
+ # @return [String] The time a room will remain active after last participant leaves.
523
+ def empty_room_timeout
524
+ @properties['empty_room_timeout']
525
+ end
526
+
527
+ ##
528
+ # @return [String] The time a room will remain active when no one joins.
529
+ def unused_room_timeout
530
+ @properties['unused_room_timeout']
531
+ end
532
+
500
533
  ##
501
534
  # @return [String] The absolute URL of the resource
502
535
  def url
@@ -0,0 +1,184 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Voice < Domain
12
+ class V1 < Version
13
+ ##
14
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
15
+ class ArchivedCallList < ListResource
16
+ ##
17
+ # Initialize the ArchivedCallList
18
+ # @param [Version] version Version that contains the resource
19
+ # @return [ArchivedCallList] ArchivedCallList
20
+ def initialize(version)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {}
25
+ end
26
+
27
+ ##
28
+ # Provide a user friendly representation
29
+ def to_s
30
+ '#<Twilio.Voice.V1.ArchivedCallList>'
31
+ end
32
+ end
33
+
34
+ ##
35
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
36
+ class ArchivedCallPage < Page
37
+ ##
38
+ # Initialize the ArchivedCallPage
39
+ # @param [Version] version Version that contains the resource
40
+ # @param [Response] response Response from the API
41
+ # @param [Hash] solution Path solution for the resource
42
+ # @return [ArchivedCallPage] ArchivedCallPage
43
+ def initialize(version, response, solution)
44
+ super(version, response)
45
+
46
+ # Path Solution
47
+ @solution = solution
48
+ end
49
+
50
+ ##
51
+ # Build an instance of ArchivedCallInstance
52
+ # @param [Hash] payload Payload response from the API
53
+ # @return [ArchivedCallInstance] ArchivedCallInstance
54
+ def get_instance(payload)
55
+ ArchivedCallInstance.new(@version, payload, )
56
+ end
57
+
58
+ ##
59
+ # Provide a user friendly representation
60
+ def to_s
61
+ '<Twilio.Voice.V1.ArchivedCallPage>'
62
+ end
63
+ end
64
+
65
+ ##
66
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
67
+ class ArchivedCallContext < InstanceContext
68
+ ##
69
+ # Initialize the ArchivedCallContext
70
+ # @param [Version] version Version that contains the resource
71
+ # @param [Date] date The date of the Call in UTC.
72
+ # @param [String] sid The Twilio-provided Call SID that uniquely identifies the
73
+ # Call resource to delete
74
+ # @return [ArchivedCallContext] ArchivedCallContext
75
+ def initialize(version, date, sid)
76
+ super(version)
77
+
78
+ # Path Solution
79
+ @solution = {date: date, sid: sid, }
80
+ @uri = "/Archives/#{@solution[:date]}/Calls/#{@solution[:sid]}"
81
+ end
82
+
83
+ ##
84
+ # Delete the ArchivedCallInstance
85
+ # @return [Boolean] true if delete succeeds, false otherwise
86
+ def delete
87
+ @version.delete('DELETE', @uri)
88
+ end
89
+
90
+ ##
91
+ # Provide a user friendly representation
92
+ def to_s
93
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
94
+ "#<Twilio.Voice.V1.ArchivedCallContext #{context}>"
95
+ end
96
+
97
+ ##
98
+ # Provide a detailed, user friendly representation
99
+ def inspect
100
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
101
+ "#<Twilio.Voice.V1.ArchivedCallContext #{context}>"
102
+ end
103
+ end
104
+
105
+ ##
106
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
107
+ class ArchivedCallInstance < InstanceResource
108
+ ##
109
+ # Initialize the ArchivedCallInstance
110
+ # @param [Version] version Version that contains the resource
111
+ # @param [Hash] payload payload that contains response from Twilio
112
+ # @param [Date] date The date of the Call in UTC.
113
+ # @param [String] sid The Twilio-provided Call SID that uniquely identifies the
114
+ # Call resource to delete
115
+ # @return [ArchivedCallInstance] ArchivedCallInstance
116
+ def initialize(version, payload, date: nil, sid: nil)
117
+ super(version)
118
+
119
+ # Marshaled Properties
120
+ @properties = {
121
+ 'date' => Twilio.deserialize_iso8601_date(payload['date']),
122
+ 'sid' => payload['sid'],
123
+ 'url' => payload['url'],
124
+ }
125
+
126
+ # Context
127
+ @instance_context = nil
128
+ @params = {'date' => date || @properties['date'], 'sid' => sid || @properties['sid'], }
129
+ end
130
+
131
+ ##
132
+ # Generate an instance context for the instance, the context is capable of
133
+ # performing various actions. All instance actions are proxied to the context
134
+ # @return [ArchivedCallContext] ArchivedCallContext for this ArchivedCallInstance
135
+ def context
136
+ unless @instance_context
137
+ @instance_context = ArchivedCallContext.new(@version, @params['date'], @params['sid'], )
138
+ end
139
+ @instance_context
140
+ end
141
+
142
+ ##
143
+ # @return [Date] date
144
+ def date
145
+ @properties['date']
146
+ end
147
+
148
+ ##
149
+ # @return [String] sid
150
+ def sid
151
+ @properties['sid']
152
+ end
153
+
154
+ ##
155
+ # @return [String] The absolute URL of the resource
156
+ def url
157
+ @properties['url']
158
+ end
159
+
160
+ ##
161
+ # Delete the ArchivedCallInstance
162
+ # @return [Boolean] true if delete succeeds, false otherwise
163
+ def delete
164
+ context.delete
165
+ end
166
+
167
+ ##
168
+ # Provide a user friendly representation
169
+ def to_s
170
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
171
+ "<Twilio.Voice.V1.ArchivedCallInstance #{values}>"
172
+ end
173
+
174
+ ##
175
+ # Provide a detailed, user friendly representation
176
+ def inspect
177
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
178
+ "<Twilio.Voice.V1.ArchivedCallInstance #{values}>"
179
+ end
180
+ end
181
+ end
182
+ end
183
+ end
184
+ end
@@ -15,6 +15,7 @@ module Twilio
15
15
  def initialize(domain)
16
16
  super
17
17
  @version = 'v1'
18
+ @archived_calls = nil
18
19
  @byoc_trunks = nil
19
20
  @connection_policies = nil
20
21
  @dialing_permissions = nil
@@ -22,6 +23,26 @@ module Twilio
22
23
  @source_ip_mappings = nil
23
24
  end
24
25
 
26
+ ##
27
+ # @param [Date] date The date of the Call in UTC.
28
+ # @param [String] sid The Twilio-provided Call SID that uniquely identifies the
29
+ # Call resource to delete
30
+ # @return [Twilio::REST::Voice::V1::ArchivedCallContext] if sid was passed.
31
+ # @return [Twilio::REST::Voice::V1::ArchivedCallList]
32
+ def archived_calls(date=:unset, sid=:unset)
33
+ if date.nil?
34
+ raise ArgumentError, 'date cannot be nil'
35
+ end
36
+ if sid.nil?
37
+ raise ArgumentError, 'sid cannot be nil'
38
+ end
39
+ if date == :unset && sid == :unset
40
+ @archived_calls ||= ArchivedCallList.new self
41
+ else
42
+ ArchivedCallContext.new(self, date, sid)
43
+ end
44
+ end
45
+
25
46
  ##
26
47
  # @param [String] sid The Twilio-provided string that uniquely identifies the BYOC
27
48
  # Trunk resource to fetch.
@@ -28,6 +28,14 @@ module Twilio
28
28
  @v1 ||= V1.new self
29
29
  end
30
30
 
31
+ ##
32
+ # @param [String] sid The call sid
33
+ # @return [Twilio::REST::Voice::V1::ArchivedCallInstance] if sid was passed.
34
+ # @return [Twilio::REST::Voice::V1::ArchivedCallList]
35
+ def archived_calls(date=:unset, sid=:unset)
36
+ self.v1.archived_calls(date, sid)
37
+ end
38
+
31
39
  ##
32
40
  # @param [String] sid The unique string that that we created to identify the BYOC
33
41
  # Trunk resource.
@@ -458,25 +458,25 @@ module Twilio
458
458
  end
459
459
 
460
460
  ##
461
- # @return [String] Deprecated. The HTTP method we use to call sms_fallback_url
461
+ # @return [String] Deprecated
462
462
  def sms_fallback_method
463
463
  @properties['sms_fallback_method']
464
464
  end
465
465
 
466
466
  ##
467
- # @return [String] Deprecated. The URL we call when an error occurs while retrieving or executing the TwiML requested from the sms_url
467
+ # @return [String] Deprecated
468
468
  def sms_fallback_url
469
469
  @properties['sms_fallback_url']
470
470
  end
471
471
 
472
472
  ##
473
- # @return [String] Deprecated. The HTTP method we use to call sms_url
473
+ # @return [String] Deprecated
474
474
  def sms_method
475
475
  @properties['sms_method']
476
476
  end
477
477
 
478
478
  ##
479
- # @return [String] Deprecated. The URL we call when the SIM-connected device sends an SMS message that is not a Command
479
+ # @return [String] Deprecated
480
480
  def sms_url
481
481
  @properties['sms_url']
482
482
  end
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '5.61.1'
2
+ VERSION = '5.63.1'
3
3
  end
@@ -10,4 +10,4 @@ sonar.tests=spec/
10
10
  sonar.test.exclusions=spec/integration/**/*.spec.rb
11
11
 
12
12
  # For Code Coverage analysis
13
- sonar.ruby.coverage.reportPaths=coverage/.resultset.sonarqube.json
13
+ sonar.ruby.coverage.reportPaths=coverage/coverage.json
data/twilio-ruby.gemspec CHANGED
@@ -36,7 +36,6 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency 'rack', '~> 2.0'
37
37
  spec.add_development_dependency 'rake', '~> 13.0'
38
38
  spec.add_development_dependency 'rspec', '~> 3.0'
39
- spec.add_development_dependency 'rubocop', '~> 0.82.0'
40
39
  spec.add_development_dependency 'yard', '~> 0.9.9'
41
40
  spec.add_development_dependency 'logger', '~> 1.4.2'
42
41
  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.61.1
4
+ version: 5.63.1
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-11-17 00:00:00.000000000 Z
11
+ date: 2022-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -160,20 +160,6 @@ dependencies:
160
160
  - - "~>"
161
161
  - !ruby/object:Gem::Version
162
162
  version: '3.0'
163
- - !ruby/object:Gem::Dependency
164
- name: rubocop
165
- requirement: !ruby/object:Gem::Requirement
166
- requirements:
167
- - - "~>"
168
- - !ruby/object:Gem::Version
169
- version: 0.82.0
170
- type: :development
171
- prerelease: false
172
- version_requirements: !ruby/object:Gem::Requirement
173
- requirements:
174
- - - "~>"
175
- - !ruby/object:Gem::Version
176
- version: 0.82.0
177
163
  - !ruby/object:Gem::Dependency
178
164
  name: yard
179
165
  requirement: !ruby/object:Gem::Requirement
@@ -212,8 +198,7 @@ extra_rdoc_files:
212
198
  - LICENSE
213
199
  files:
214
200
  - ".dockerignore"
215
- - ".github/workflows/deploy.yml"
216
- - ".github/workflows/test.yml"
201
+ - ".github/workflows/test-and-deploy.yml"
217
202
  - ".gitignore"
218
203
  - ".rubocop.yml"
219
204
  - ".rubocop_todo.yml"
@@ -406,6 +391,7 @@ files:
406
391
  - lib/twilio-ruby/rest/conversations/v1/service/binding.rb
407
392
  - lib/twilio-ruby/rest/conversations/v1/service/configuration.rb
408
393
  - lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb
394
+ - lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb
409
395
  - lib/twilio-ruby/rest/conversations/v1/service/conversation.rb
410
396
  - lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb
411
397
  - lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb
@@ -447,8 +433,11 @@ files:
447
433
  - lib/twilio-ruby/rest/insights/v1/call/metric.rb
448
434
  - lib/twilio-ruby/rest/insights/v1/call/summary.rb
449
435
  - lib/twilio-ruby/rest/insights/v1/call_summaries.rb
436
+ - lib/twilio-ruby/rest/insights/v1/conference.rb
437
+ - lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb
450
438
  - lib/twilio-ruby/rest/insights/v1/room.rb
451
439
  - lib/twilio-ruby/rest/insights/v1/room/participant.rb
440
+ - lib/twilio-ruby/rest/insights/v1/setting.rb
452
441
  - lib/twilio-ruby/rest/ip_messaging.rb
453
442
  - lib/twilio-ruby/rest/ip_messaging/v1.rb
454
443
  - lib/twilio-ruby/rest/ip_messaging/v1/credential.rb
@@ -636,7 +625,9 @@ files:
636
625
  - lib/twilio-ruby/rest/supersim.rb
637
626
  - lib/twilio-ruby/rest/supersim/v1.rb
638
627
  - lib/twilio-ruby/rest/supersim/v1/command.rb
628
+ - lib/twilio-ruby/rest/supersim/v1/esim_profile.rb
639
629
  - lib/twilio-ruby/rest/supersim/v1/fleet.rb
630
+ - lib/twilio-ruby/rest/supersim/v1/ip_command.rb
640
631
  - lib/twilio-ruby/rest/supersim/v1/network.rb
641
632
  - lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb
642
633
  - lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb
@@ -741,6 +732,7 @@ files:
741
732
  - lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb
742
733
  - lib/twilio-ruby/rest/voice.rb
743
734
  - lib/twilio-ruby/rest/voice/v1.rb
735
+ - lib/twilio-ruby/rest/voice/v1/archived_call.rb
744
736
  - lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb
745
737
  - lib/twilio-ruby/rest/voice/v1/connection_policy.rb
746
738
  - lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb
@@ -1,65 +0,0 @@
1
- name: Deploy
2
- on:
3
- push:
4
- tags:
5
- - '*'
6
- workflow_dispatch:
7
-
8
- jobs:
9
- deploy:
10
- name: Deploy to Rubygems
11
- runs-on: ubuntu-latest
12
- steps:
13
- - name: Checkout twilio-ruby
14
- uses: actions/checkout@v2
15
- with:
16
- fetch-depth: 0
17
-
18
- - name: Login to Docker Hub
19
- uses: docker/login-action@v1
20
- with:
21
- username: ${{ secrets.DOCKER_USERNAME }}
22
- password: ${{ secrets.DOCKER_AUTH_TOKEN }}
23
-
24
- # The expression strips off the shortest match from the front of the string to yield just the tag name as the output
25
- - name: Get tagged version
26
- run: echo "GITHUB_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
27
-
28
- - name: Build and Push image
29
- run: make docker-build && make docker-push
30
-
31
- - name: Set up Ruby
32
- uses: ruby/setup-ruby@v1
33
- with:
34
- ruby-version: 2.4
35
- bundler-cache: true
36
-
37
- - run: bundle install
38
- - name: Publish to Rubygems
39
- env:
40
- GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_AUTH_TOKEN }}
41
- run: |
42
- mkdir -p $HOME/.gem
43
- touch $HOME/.gem/credentials
44
- chmod 0600 $HOME/.gem/credentials
45
- printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
46
- gem build *.gemspec
47
- gem push *.gem
48
-
49
- notify-on-failure:
50
- name: Slack notify on failure
51
- if: ${{ failure() }}
52
- needs: [deploy]
53
- runs-on: ubuntu-latest
54
- steps:
55
- - uses: rtCamp/action-slack-notify@v2
56
- env:
57
- SLACK_COLOR: ${{ needs.deploy.status }}
58
- SLACK_ICON_EMOJI: ':github:'
59
- SLACK_MESSAGE: ${{ format('Failed to publish {1} to RubyGems{3} {0}/{1}/actions/runs/{2}', github.server_url, github.repository, github.run_id, ':') }}
60
- SLACK_TITLE: Deployment Failure
61
- SLACK_USERNAME: GitHub Actions
62
- SLACK_MSG_AUTHOR: twilio-dx
63
- SLACK_FOOTER: Posted automatically using GitHub Actions
64
- SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
65
- MSG_MINIMAL: true
@@ -1,51 +0,0 @@
1
- name: Tests
2
- on:
3
- push:
4
- branches: [ '*' ]
5
- pull_request:
6
- branches: [ main ]
7
- schedule:
8
- # Run automatically at 8AM PST Monday-Friday
9
- - cron: '0 15 * * 1-5'
10
- workflow_dispatch:
11
-
12
- jobs:
13
- test:
14
- name: Test
15
- runs-on: ubuntu-latest
16
- timeout-minutes: 20
17
- strategy:
18
- matrix:
19
- ruby: [2.4, 2.5, 2.6, 2.7, '3.0', ruby-head, jruby-9.2]
20
- steps:
21
- - name: Checkout twilio-ruby
22
- uses: actions/checkout@v2
23
-
24
- - name: Set up Ruby
25
- uses: ruby/setup-ruby@v1
26
- with:
27
- ruby-version: ${{ matrix.ruby }}
28
- bundler-cache: true
29
-
30
- - run: bundle install --with development
31
- - run: bundle exec rake install
32
- - name: Run Unit Tests
33
- run: make test
34
-
35
- notify-on-failure:
36
- name: Slack notify on failure
37
- if: ${{ failure() && github.ref == 'refs/heads/main' && github.event_name != 'pull_request' }}
38
- needs: [test]
39
- runs-on: ubuntu-latest
40
- steps:
41
- - uses: rtCamp/action-slack-notify@v2
42
- env:
43
- SLACK_COLOR: ${{ needs.test.status }}
44
- SLACK_ICON_EMOJI: ':github:'
45
- SLACK_MESSAGE: ${{ format('Build {2} in {1} failed{3} {0}/{1}/actions/runs/{2}', github.server_url, github.repository, github.run_id, ':') }}
46
- SLACK_TITLE: Build Failure
47
- SLACK_USERNAME: GitHub Actions
48
- SLACK_MSG_AUTHOR: twilio-dx
49
- SLACK_FOOTER: Posted automatically using GitHub Actions
50
- SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
51
- MSG_MINIMAL: true