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.
- checksums.yaml +4 -4
- data/.github/workflows/test-and-deploy.yml +124 -0
- data/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +84 -21
- data/CHANGES.md +96 -0
- data/Makefile +3 -6
- data/README.md +4 -4
- data/lib/rack/twilio_webhook_authentication.rb +25 -1
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +19 -5
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +8 -0
- data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +14 -0
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +33 -18
- data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +483 -0
- data/lib/twilio-ruby/rest/insights/v1/conference.rb +484 -0
- data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
- data/lib/twilio-ruby/rest/insights/v1.rb +23 -0
- data/lib/twilio-ruby/rest/insights.rb +14 -0
- data/lib/twilio-ruby/rest/media/v1/media_processor.rb +14 -1
- data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +23 -0
- data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +80 -0
- data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
- data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +416 -0
- data/lib/twilio-ruby/rest/supersim/v1.rb +32 -0
- data/lib/twilio-ruby/rest/supersim.rb +18 -0
- data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +138 -10
- data/lib/twilio-ruby/rest/verify/v2/service.rb +8 -2
- data/lib/twilio-ruby/rest/video/v1/composition.rb +7 -0
- data/lib/twilio-ruby/rest/video/v1/recording.rb +7 -0
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +7 -0
- data/lib/twilio-ruby/rest/video/v1/room.rb +34 -1
- data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
- data/lib/twilio-ruby/rest/voice/v1.rb +21 -0
- data/lib/twilio-ruby/rest/voice.rb +8 -0
- data/lib/twilio-ruby/rest/wireless/v1/sim.rb +4 -4
- data/lib/twilio-ruby/version.rb +1 -1
- data/sonar-project.properties +1 -1
- data/twilio-ruby.gemspec +0 -1
- metadata +10 -18
- data/.github/workflows/deploy.yml +0 -65
- 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
|
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
|
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
|
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
|
479
|
+
# @return [String] Deprecated
|
480
480
|
def sms_url
|
481
481
|
@properties['sms_url']
|
482
482
|
end
|
data/lib/twilio-ruby/version.rb
CHANGED
data/sonar-project.properties
CHANGED
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.
|
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:
|
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
|
data/.github/workflows/test.yml
DELETED
@@ -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
|