class Twilio::JWT::TaskRouterCapability
Constants
- TASK_ROUTER_VERSION
Public Class Methods
new(account_sid, auth_token, workspace_sid, channel_id, nbf: nil, ttl: 3600, valid_until: nil)
click to toggle source
Calls superclass method
Twilio::JWT::BaseJWT::new
# File lib/twilio-ruby/jwt/task_router.rb 7 def initialize(account_sid, auth_token, workspace_sid, channel_id, nbf: nil, ttl: 3600, valid_until: nil) 8 super(secret_key: auth_token, 9 issuer: account_sid, 10 nbf: nbf, 11 ttl: ttl, 12 valid_until: valid_until 13 ) 14 @account_sid = account_sid 15 @auth_token = auth_token 16 @workspace_sid = workspace_sid 17 @channel_id = channel_id 18 @policies = [] 19 end
Public Instance Methods
add_policy(policy)
click to toggle source
# File lib/twilio-ruby/jwt/task_router.rb 21 def add_policy(policy) 22 @policies.push(policy) 23 end
Protected Instance Methods
_generate_payload()
click to toggle source
# File lib/twilio-ruby/jwt/task_router.rb 27 def _generate_payload 28 Twilio::JWT::TaskRouterCapability::TaskRouterUtils 29 .web_socket_policies(@account_sid, @channel_id) 30 .each { |policy| add_policy(policy) } 31 policies = @policies.map(&:_generate_payload) 32 33 payload = { 34 account_sid: @account_sid, 35 workspace_sid: @workspace_sid, 36 channel: @channel_id, 37 version: TASK_ROUTER_VERSION, 38 friendly_name: @channel_id, 39 policies: policies 40 } 41 42 if @channel_id[0..1] == 'WK' 43 payload[:worker_sid] = @channel_id 44 elsif @channel_id[0..1] == 'WQ' 45 payload[:taskqueue_sid] = @channel_id 46 end 47 48 payload 49 end