twilio-ruby 5.0.0.rc23 → 5.0.0.rc24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +6 -0
  3. data/Makefile +1 -4
  4. data/lib/twilio-ruby/framework/serialize.rb +25 -3
  5. data/lib/twilio-ruby/jwt/access_token.rb +125 -126
  6. data/lib/twilio-ruby/jwt/client_capability.rb +50 -50
  7. data/lib/twilio-ruby/jwt/task_router.rb +97 -97
  8. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +2 -2
  9. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +4 -4
  10. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +3 -3
  11. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +3 -3
  12. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +41 -13
  13. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +6 -6
  14. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +22 -12
  15. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +22 -8
  16. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +3 -3
  17. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +22 -12
  18. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +4 -4
  19. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +4 -4
  20. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +4 -4
  21. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +4 -4
  22. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +4 -4
  23. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +4 -4
  24. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +4 -4
  25. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +4 -4
  26. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +4 -4
  27. data/lib/twilio-ruby/rest/chat/v1/credential.rb +2 -2
  28. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +2 -2
  29. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +3 -3
  30. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +2 -2
  31. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +2 -2
  32. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +2 -2
  33. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +2 -2
  34. data/lib/twilio-ruby/rest/chat/v1/service.rb +2 -2
  35. data/lib/twilio-ruby/rest/chat/v2/credential.rb +2 -2
  36. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +2 -2
  37. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +3 -3
  38. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +2 -2
  39. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +2 -2
  40. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +2 -2
  41. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +2 -2
  42. data/lib/twilio-ruby/rest/chat/v2/service.rb +2 -2
  43. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +2 -2
  44. data/lib/twilio-ruby/rest/fax/v1/fax.rb +4 -4
  45. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +2 -2
  46. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +2 -2
  47. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +3 -3
  48. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +2 -2
  49. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +2 -2
  50. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +2 -2
  51. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +2 -2
  52. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +2 -2
  53. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +2 -2
  54. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +2 -2
  55. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +3 -3
  56. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +2 -2
  57. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +2 -2
  58. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +2 -2
  59. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +2 -2
  60. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +2 -2
  61. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +2 -2
  62. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +2 -2
  63. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +2 -2
  64. data/lib/twilio-ruby/rest/messaging/v1/service.rb +2 -2
  65. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +5 -5
  66. data/lib/twilio-ruby/rest/monitor/v1/event.rb +3 -3
  67. data/lib/twilio-ruby/rest/notify/v1/credential.rb +2 -2
  68. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +4 -4
  69. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +1 -1
  70. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +2 -2
  71. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +4 -4
  72. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +2 -2
  73. data/lib/twilio-ruby/rest/notify/v1/service.rb +2 -2
  74. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +2 -2
  75. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +2 -2
  76. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +2 -2
  77. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +2 -2
  78. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +2 -2
  79. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +2 -2
  80. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +4 -4
  81. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +2 -2
  82. data/lib/twilio-ruby/rest/preview/proxy/service.rb +2 -2
  83. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +2 -2
  84. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +2 -2
  85. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +2 -2
  86. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +2 -2
  87. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +2 -2
  88. data/lib/twilio-ruby/rest/preview/sync/service.rb +2 -2
  89. data/lib/twilio-ruby/rest/preview/wireless/command.rb +2 -2
  90. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +2 -2
  91. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +2 -2
  92. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +2 -2
  93. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +2 -2
  94. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +2 -2
  95. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +2 -2
  96. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +2 -2
  97. data/lib/twilio-ruby/rest/sync/v1/service.rb +2 -2
  98. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +2 -2
  99. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +3 -3
  100. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +2 -2
  101. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +2 -2
  102. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +2 -2
  103. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +2 -2
  104. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +2 -2
  105. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +2 -2
  106. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +2 -2
  107. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +2 -2
  108. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +2 -2
  109. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +2 -2
  110. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +3 -3
  111. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +2 -2
  112. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +2 -2
  113. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +2 -2
  114. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +2 -2
  115. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +2 -2
  116. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +2 -2
  117. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +2 -2
  118. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +2 -2
  119. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +2 -2
  120. data/lib/twilio-ruby/rest/video/v1/recording.rb +1 -1
  121. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +1 -1
  122. data/lib/twilio-ruby/rest/video/v1/room.rb +5 -5
  123. data/lib/twilio-ruby/rest/wireless/v1/command.rb +2 -2
  124. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +2 -2
  125. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +2 -2
  126. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +2 -2
  127. data/lib/twilio-ruby/version.rb +1 -1
  128. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +2 -2
  129. data/spec/jwt/access_token_spec.rb +9 -9
  130. data/spec/jwt/client_capability_spec.rb +10 -10
  131. data/spec/jwt/task_router_spec.rb +24 -24
  132. data/twilio-ruby.gemspec +3 -4
  133. metadata +6 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 27d0c2725f763ee3e94eef5bfcce66a248e68f2f
4
- data.tar.gz: 03b533162b0b36375f262daf6546887f3b9be898
3
+ metadata.gz: f981811e9dfbdbb8ccebb024fc19d02f8572343e
4
+ data.tar.gz: 3816114ec774607280c563ceba304d71a7e1586c
5
5
  SHA512:
6
- metadata.gz: aeb7534c11020286795582015a4464a2509bd79d1511aa2da9c085c2fb4fb3e397747c444c504e67cfe9ab27ace6f7e98e01aa0e0d64fe21ce0e887d33e06f9f
7
- data.tar.gz: a8f0ef0b4b43ec7063da19d049df005c83ca32e3e31a16b47ccffbea0d0c763bdb7d7e86a9aea4d18245718e8d7821a18948940fccc39c411594e9101c890fd3
6
+ metadata.gz: 15f5dec31b1c60f3c48ecba58a092e0bfba5b3421dddf07cf88f4fd59187b8d1b42aa1c7b763f9cd38f7422a2d8dabe9609624e915a4b9116affe157843c6a4d
7
+ data.tar.gz: adc945fc725af82de455d4ef556509bf1a15424c8eaa98206d7a27e07d9fdb583ed73d7968373d2b3cb1bfb06778a77d78efa55f2b368dbb0e5a34e309f54ebe
data/CHANGES.md CHANGED
@@ -1,5 +1,11 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
+ [2017-06-22] Version 5.0.0-rc24
4
+ -------------------------------
5
+ - Namespaced Policy, Grants, and Scope to their respective Token.
6
+ - Added `announce_url` and `annouce_url_method` to Conference update.
7
+ - Added `store_media` to Fax.
8
+
3
9
  [2017-06-19] Version 5.0.0-rc23
4
10
  -------------------------------
5
11
  - Fixed ClientCapability parameter encoded bug.
data/Makefile CHANGED
@@ -1,5 +1,5 @@
1
1
  install:
2
- bundle exec rake install
2
+ bundle install; bundle exec rake install
3
3
 
4
4
  test-install:
5
5
  bundle install
@@ -14,8 +14,5 @@ authors:
14
14
  echo "Authors\n=======\n\nA huge thanks to all of our contributors:\n\n" > AUTHORS.md
15
15
  git log --raw | grep "^Author: " | cut -d ' ' -f2- | cut -d '<' -f1 | sed 's/^/- /' | sort | uniq >> AUTHORS.md
16
16
 
17
- deploy:
18
- bundle exec rake deploy
19
-
20
17
  gem:
21
18
  bundle exec rake build | sed -e 's/.*pkg/pkg/g' | sed -e "s/\.$$//g" | xargs gem push
@@ -1,9 +1,25 @@
1
1
  module Twilio
2
- def self.serialize_iso8601(date)
2
+ def self.serialize_iso8601_date(date)
3
3
  if date.eql?(:unset)
4
4
  date
5
- elsif date
5
+ elsif date.is_a?(Date)
6
6
  date.iso8601
7
+ elsif date.is_a?(Time)
8
+ date.strftime('%Y-%m-%d')
9
+ elsif date.is_a?(String)
10
+ date
11
+ end
12
+ end
13
+
14
+ def self.serialize_iso8601_datetime(date)
15
+ if date.eql?(:unset)
16
+ date
17
+ elsif date.is_a?(Date)
18
+ Time.new(date.year, date.month, date.day).utc.iso8601
19
+ elsif date.is_a?(Time)
20
+ date.utc.iso8601
21
+ elsif date.is_a?(String)
22
+ date
7
23
  end
8
24
  end
9
25
 
@@ -13,7 +29,13 @@ module Twilio
13
29
  end
14
30
  end
15
31
 
16
- def self.deserialize_iso8601(date)
32
+ def self.deserialize_iso8601_date(date)
33
+ unless date.nil?
34
+ Date.parse(date)
35
+ end
36
+ end
37
+
38
+ def self.deserialize_iso8601_datetime(date)
17
39
  unless date.nil?
18
40
  Time.parse(date)
19
41
  end
@@ -1,5 +1,15 @@
1
1
  module Twilio
2
2
  module JWT
3
+ module AccessTokenGrant
4
+ def _key
5
+ fail NotImplementedError
6
+ end
7
+
8
+ def _generate_payload
9
+ fail NotImplementedError
10
+ end
11
+ end
12
+
3
13
  class AccessToken < BaseJWT
4
14
  attr_accessor :account_sid,
5
15
  :signing_key_id,
@@ -61,186 +71,175 @@ module Twilio
61
71
 
62
72
  headers
63
73
  end
64
- end
65
74
 
66
- module AccessTokenGrant
67
- def _key
68
- fail NotImplementedError
69
- end
70
-
71
- def _generate_payload
72
- fail NotImplementedError
73
- end
74
-
75
- end
75
+ class IpMessagingGrant
76
+ include AccessTokenGrant
77
+ attr_accessor :service_sid,
78
+ :endpoint_id,
79
+ :deployment_role_sid,
80
+ :push_credential_sid
76
81
 
77
- class IpMessagingGrant
78
- include AccessTokenGrant
79
- attr_accessor :service_sid,
80
- :endpoint_id,
81
- :deployment_role_sid,
82
- :push_credential_sid
83
82
 
83
+ def _key
84
+ 'ip_messaging'
85
+ end
84
86
 
85
- def _key
86
- 'ip_messaging'
87
- end
87
+ def _generate_payload
88
+ payload = {}
88
89
 
89
- def _generate_payload
90
- payload = {}
90
+ if service_sid
91
+ payload[:service_sid] = service_sid
92
+ end
91
93
 
92
- if service_sid
93
- payload[:service_sid] = service_sid
94
- end
94
+ if endpoint_id
95
+ payload[:endpoint_id] = endpoint_id
96
+ end
95
97
 
96
- if endpoint_id
97
- payload[:endpoint_id] = endpoint_id
98
- end
98
+ if deployment_role_sid
99
+ payload[:deployment_role_sid] = deployment_role_sid
100
+ end
99
101
 
100
- if deployment_role_sid
101
- payload[:deployment_role_sid] = deployment_role_sid
102
- end
102
+ if push_credential_sid
103
+ payload[:push_credential_sid] = push_credential_sid
104
+ end
103
105
 
104
- if push_credential_sid
105
- payload[:push_credential_sid] = push_credential_sid
106
+ payload
106
107
  end
107
108
 
108
- payload
109
109
  end
110
110
 
111
- end
111
+ class VoiceGrant
112
+ include AccessTokenGrant
113
+ attr_accessor :outgoing_application_sid,
114
+ :outgoing_application_params,
115
+ :push_credential_sid,
116
+ :endpoint_id
112
117
 
113
- class VoiceGrant
114
- include AccessTokenGrant
115
- attr_accessor :outgoing_application_sid,
116
- :outgoing_application_params,
117
- :push_credential_sid,
118
- :endpoint_id
118
+ def _key
119
+ 'voice'
120
+ end
119
121
 
120
- def _key
121
- 'voice'
122
- end
122
+ def _generate_payload
123
+ payload = {}
123
124
 
124
- def _generate_payload
125
- payload = {}
125
+ if outgoing_application_sid
126
+ outgoing = {}
127
+ outgoing[:application_sid] = outgoing_application_sid
128
+ if outgoing_application_params
129
+ outgoing[:params] = outgoing_application_params
130
+ end
126
131
 
127
- if outgoing_application_sid
128
- outgoing = {}
129
- outgoing[:application_sid] = outgoing_application_sid
130
- if outgoing_application_params
131
- outgoing[:params] = outgoing_application_params
132
+ payload[:outgoing] = outgoing
132
133
  end
133
134
 
134
- payload[:outgoing] = outgoing
135
- end
135
+ if push_credential_sid
136
+ payload[:push_credential_sid] = push_credential_sid
137
+ end
136
138
 
137
- if push_credential_sid
138
- payload[:push_credential_sid] = push_credential_sid
139
- end
139
+ if endpoint_id
140
+ payload[:endpoint_id] = endpoint_id
141
+ end
140
142
 
141
- if endpoint_id
142
- payload[:endpoint_id] = endpoint_id
143
+ payload
143
144
  end
144
-
145
- payload
146
145
  end
147
- end
148
146
 
149
- class SyncGrant
150
- include AccessTokenGrant
151
- attr_accessor :service_sid,
152
- :endpoint_id
147
+ class SyncGrant
148
+ include AccessTokenGrant
149
+ attr_accessor :service_sid,
150
+ :endpoint_id
153
151
 
154
- def _key
155
- 'data_sync'
156
-
157
- end
152
+ def _key
153
+ 'data_sync'
158
154
 
159
- def _generate_payload
160
- payload = {}
161
-
162
- if service_sid
163
- payload['service_sid'] = service_sid
164
- end
165
- if endpoint_id
166
- payload['endpoint_id'] = endpoint_id
167
155
  end
168
156
 
169
- payload
170
- end
171
- end
157
+ def _generate_payload
158
+ payload = {}
172
159
 
173
- class ConversationsGrant
174
- include AccessTokenGrant
175
- attr_accessor :configuration_profile_sid
160
+ if service_sid
161
+ payload['service_sid'] = service_sid
162
+ end
163
+ if endpoint_id
164
+ payload['endpoint_id'] = endpoint_id
165
+ end
176
166
 
177
- def _key
178
- 'rtc'
167
+ payload
168
+ end
179
169
  end
180
170
 
181
- def _generate_payload
182
- payload = {}
171
+ class ConversationsGrant
172
+ include AccessTokenGrant
173
+ attr_accessor :configuration_profile_sid
183
174
 
184
- if configuration_profile_sid
185
- payload[:configuration_profile_sid] = configuration_profile_sid
175
+ def _key
176
+ 'rtc'
186
177
  end
187
178
 
188
- payload
189
- end
179
+ def _generate_payload
180
+ payload = {}
190
181
 
191
- class << self
192
- extend Gem::Deprecate
193
- deprecate :new, 'VideoGrant.new', 2017, 5
194
- end
182
+ if configuration_profile_sid
183
+ payload[:configuration_profile_sid] = configuration_profile_sid
184
+ end
195
185
 
186
+ payload
187
+ end
196
188
 
197
- end
189
+ class << self
190
+ extend Gem::Deprecate
191
+ deprecate :new, 'VideoGrant.new', 2017, 5
192
+ end
198
193
 
199
- class VideoGrant
200
- include AccessTokenGrant
201
- attr_accessor :room
202
194
 
203
- def _key
204
- 'video'
205
195
  end
206
196
 
207
- def _generate_payload
208
- payload = {}
197
+ class VideoGrant
198
+ include AccessTokenGrant
199
+ attr_accessor :room
209
200
 
210
- if room
211
- payload[:room] = room
201
+ def _key
202
+ 'video'
212
203
  end
213
204
 
214
- payload
215
- end
216
- end
205
+ def _generate_payload
206
+ payload = {}
217
207
 
218
- class TaskRouterGrant
219
- include AccessTokenGrant
220
- attr_accessor :workspace_sid,
221
- :worker_sid,
222
- :role
208
+ if room
209
+ payload[:room] = room
210
+ end
223
211
 
224
- def _key
225
- 'task_router'
212
+ payload
213
+ end
226
214
  end
227
215
 
228
- def _generate_payload
229
- payload = {}
216
+ class TaskRouterGrant
217
+ include AccessTokenGrant
218
+ attr_accessor :workspace_sid,
219
+ :worker_sid,
220
+ :role
230
221
 
231
- if workspace_sid
232
- payload[:workspace_sid] = workspace_sid
222
+ def _key
223
+ 'task_router'
233
224
  end
234
225
 
235
- if worker_sid
236
- payload[:worker_sid] = worker_sid
237
- end
226
+ def _generate_payload
227
+ payload = {}
238
228
 
239
- if role
240
- payload[:role] = role
241
- end
229
+ if workspace_sid
230
+ payload[:workspace_sid] = workspace_sid
231
+ end
242
232
 
243
- payload
233
+ if worker_sid
234
+ payload[:worker_sid] = worker_sid
235
+ end
236
+
237
+ if role
238
+ payload[:role] = role
239
+ end
240
+
241
+ payload
242
+ end
244
243
  end
245
244
  end
246
245
  end
@@ -1,5 +1,11 @@
1
1
  module Twilio
2
2
  module JWT
3
+ module Scope
4
+ def _generate_payload
5
+ raise 'Not Implemented'
6
+ end
7
+ end
8
+
3
9
  class ClientCapability < BaseJWT
4
10
  attr_accessor :account_sid,
5
11
  :auth_token,
@@ -36,71 +42,65 @@ module Twilio
36
42
 
37
43
  payload
38
44
  end
39
- end
40
45
 
41
- module Scope
42
- def _generate_payload
43
- raise 'Not Implemented'
44
- end
45
- end
46
+ class IncomingClientScope
47
+ include Scope
46
48
 
47
- class IncomingClientScope
48
- include Scope
49
+ def initialize(client_name)
50
+ @client_name = client_name
51
+ end
49
52
 
50
- def initialize(client_name)
51
- @client_name = client_name
52
- end
53
+ def _generate_payload
54
+ prefix = "scope:client:incoming"
55
+ suffix = "clientName=" + CGI.escape("#{@client_name}")
53
56
 
54
- def _generate_payload
55
- prefix = "scope:client:incoming"
56
- suffix = "clientName=" + CGI.escape("#{@client_name}")
57
+ [prefix, suffix].join('?')
58
+ end
57
59
 
58
- [prefix, suffix].join('?')
59
60
  end
60
61
 
61
- end
62
-
63
- class OutgoingClientScope
64
- include Scope
62
+ class OutgoingClientScope
63
+ include Scope
65
64
 
66
- def initialize(application_sid, client_name = nil, params = {})
67
- @application_sid = application_sid
68
- @client_name = client_name
69
- @params = params
70
- end
71
-
72
- def _generate_payload
73
- prefix = "scope:client:outgoing"
74
- application_sid = "appSid=#{CGI.escape(@application_sid)}"
75
- unless @client_name.nil?
76
- client_name = "clientName=#{CGI.escape(@client_name)}"
77
- end
78
- unless @params.empty?
79
- params = "appParams=" + @params.map {|k, v| CGI.escape("#{k}=#{v}")}.join('&')
65
+ def initialize(application_sid, client_name = nil, params = {})
66
+ @application_sid = application_sid
67
+ @client_name = client_name
68
+ @params = params
80
69
  end
81
70
 
82
- suffix = [application_sid, client_name, params].compact.join('&')
83
- [prefix, suffix].join('?')
71
+ def _generate_payload
72
+ prefix = "scope:client:outgoing"
73
+ application_sid = "appSid=#{CGI.escape(@application_sid)}"
74
+ unless @client_name.nil?
75
+ client_name = "clientName=#{CGI.escape(@client_name)}"
76
+ end
77
+ unless @params.empty?
78
+ params = "appParams=" + @params.map {|k, v| CGI.escape("#{k}=#{v}")}.join('&')
79
+ end
80
+
81
+ suffix = [application_sid, client_name, params].compact.join('&')
82
+ [prefix, suffix].join('?')
83
+ end
84
84
  end
85
- end
86
85
 
87
- class EventStreamScope
88
- include Scope
89
-
90
- def initialize(filters = {})
91
- @filters = filters
92
- @path = '/2010-04-01/Events'
93
- end
86
+ class EventStreamScope
87
+ include Scope
94
88
 
95
- def _generate_payload
96
- prefix = "scope:stream:subscribe"
97
- path = "path=#{CGI.escape(@path)}"
98
- unless @filters.empty?
99
- filters = "params=" + @filters.map {|k, v| CGI.escape("#{k}=#{v}")}.join('&')
89
+ def initialize(filters = {})
90
+ @filters = filters
91
+ @path = '/2010-04-01/Events'
100
92
  end
101
93
 
102
- suffix = [path, filters].compact.join('&')
103
- [prefix, suffix].join('?')
94
+ def _generate_payload
95
+ prefix = "scope:stream:subscribe"
96
+ path = "path=#{CGI.escape(@path)}"
97
+ unless @filters.empty?
98
+ filters = "params=" + @filters.map {|k, v| CGI.escape("#{k}=#{v}")}.join('&')
99
+ end
100
+
101
+ suffix = [path, filters].compact.join('&')
102
+ [prefix, suffix].join('?')
103
+ end
104
104
  end
105
105
  end
106
106
  end