twilio-ruby 5.61.1 → 5.63.1

Sign up to get free protection for your applications and to get access to all the features.
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