Class: Twilio::REST::Sync::V1::ServiceContext

Inherits:
InstanceContext show all
Defined in:
lib/twilio-ruby/rest/sync/v1/service.rb,
lib/twilio-ruby/rest/sync/v1/service/document.rb,
lib/twilio-ruby/rest/sync/v1/service/sync_map.rb,
lib/twilio-ruby/rest/sync/v1/service/sync_list.rb,
lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb,
lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb,
lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb,
lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb,
lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb,
lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb,
lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb

Defined Under Namespace

Classes: DocumentContext, DocumentInstance, DocumentInstanceMetadata, DocumentList, DocumentListResponse, DocumentPage, DocumentPageMetadata, SyncListContext, SyncListInstance, SyncListInstanceMetadata, SyncListList, SyncListListResponse, SyncListPage, SyncListPageMetadata, SyncMapContext, SyncMapInstance, SyncMapInstanceMetadata, SyncMapList, SyncMapListResponse, SyncMapPage, SyncMapPageMetadata, SyncStreamContext, SyncStreamInstance, SyncStreamInstanceMetadata, SyncStreamList, SyncStreamListResponse, SyncStreamPage, SyncStreamPageMetadata

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ ServiceContext

Initialize the ServiceContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    The SID of the Service resource to update.



259
260
261
262
263
264
265
266
267
268
269
270
271
272
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 259

def initialize(version, sid)
    super(version)
    

    # Path Solution
    @solution = { sid: sid,  }
    @uri = "/Services/#{@solution[:sid]}"

    # Dependents
    @sync_streams = nil
    @sync_lists = nil
    @sync_maps = nil
    @documents = nil
end

Instance Method Details

#deleteBoolean

Delete the ServiceInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



276
277
278
279
280
281
282
283
284
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 276

def delete

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    

    @version.delete('DELETE', @uri, headers: headers)
end

#delete_with_metadataBoolean

Delete the ServiceInstanceMetadata

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 289

def 

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
      response = @version.('DELETE', @uri, headers: headers)
      service_instance = ServiceInstance.new(
          @version,
          response.body,
          account_sid: @solution[:account_sid],
          sid: @solution[:sid],
      )
      ServiceInstanceMetadata.new(@version, service_instance, response.headers, response.status_code)
end

#documents(sid = :unset) ⇒ DocumentList, DocumentContext

Access the documents

Returns:

Raises:

  • (ArgumentError)


504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 504

def documents(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return DocumentContext.new(@version, @solution[:sid],sid )
    end

    unless @documents
        @documents = DocumentList.new(
            @version, service_sid: @solution[:sid], )
    end

 @documents
end

#fetchServiceInstance

Fetch the ServiceInstance

Returns:



308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 308

def fetch

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.fetch('GET', @uri, headers: headers)
    ServiceInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#fetch_with_metadataServiceInstance

Fetch the ServiceInstanceMetadata

Returns:



327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 327

def 

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    response = @version.('GET', @uri, headers: headers)
    service_instance = ServiceInstance.new(
        @version,
        response.body,
        sid: @solution[:sid],
    )
    ServiceInstanceMetadata.new(
        @version,
        service_instance,
        response.headers,
        response.status_code
    )
end

#inspectObject

Provide a detailed, user friendly representation



529
530
531
532
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 529

def inspect
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Sync.V1.ServiceContext #{context}>"
end

#sync_lists(sid = :unset) ⇒ SyncListList, SyncListContext

Access the sync_lists

Returns:

Raises:

  • (ArgumentError)


466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 466

def sync_lists(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return SyncListContext.new(@version, @solution[:sid],sid )
    end

    unless @sync_lists
        @sync_lists = SyncListList.new(
            @version, service_sid: @solution[:sid], )
    end

 @sync_lists
end

#sync_maps(sid = :unset) ⇒ SyncMapList, SyncMapContext

Access the sync_maps

Returns:

Raises:

  • (ArgumentError)


485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 485

def sync_maps(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return SyncMapContext.new(@version, @solution[:sid],sid )
    end

    unless @sync_maps
        @sync_maps = SyncMapList.new(
            @version, service_sid: @solution[:sid], )
    end

 @sync_maps
end

#sync_streams(sid = :unset) ⇒ SyncStreamList, SyncStreamContext

Access the sync_streams

Returns:

Raises:

  • (ArgumentError)


447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 447

def sync_streams(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return SyncStreamContext.new(@version, @solution[:sid],sid )
    end

    unless @sync_streams
        @sync_streams = SyncStreamList.new(
            @version, service_sid: @solution[:sid], )
    end

 @sync_streams
end

#to_sObject

Provide a user friendly representation



522
523
524
525
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 522

def to_s
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Sync.V1.ServiceContext #{context}>"
end

#update(webhook_url: :unset, friendly_name: :unset, reachability_webhooks_enabled: :unset, acl_enabled: :unset, reachability_debouncing_enabled: :unset, reachability_debouncing_window: :unset, webhooks_from_rest_enabled: :unset) ⇒ ServiceInstance

Update the ServiceInstance

Parameters:

  • webhook_url (String) (defaults to: :unset)

    The URL we should call when Sync objects are manipulated.

  • friendly_name (String) (defaults to: :unset)

    A string that you assign to describe the resource.

  • reachability_webhooks_enabled (Boolean) (defaults to: :unset)

    Whether the service instance should call ‘webhook_url` when client endpoints connect to Sync. The default is `false`.

  • acl_enabled (Boolean) (defaults to: :unset)

    Whether token identities in the Service must be granted access to Sync objects by using the [Permissions](www.twilio.com/docs/sync/api/sync-permissions) resource.

  • reachability_debouncing_enabled (Boolean) (defaults to: :unset)

    Whether every ‘endpoint_disconnected` event should occur after a configurable delay. The default is `false`, where the `endpoint_disconnected` event occurs immediately after disconnection. When `true`, intervening reconnections can prevent the `endpoint_disconnected` event.

  • reachability_debouncing_window (String) (defaults to: :unset)

    The reachability event delay in milliseconds if ‘reachability_debouncing_enabled` = `true`. Must be between 1,000 and 30,000 and defaults to 5,000. This is the number of milliseconds after the last running client disconnects, and a Sync identity is declared offline, before the webhook is called if all endpoints remain offline. A reconnection from the same identity by any endpoint during this interval prevents the webhook from being called.

  • webhooks_from_rest_enabled (Boolean) (defaults to: :unset)

    Whether the Service instance should call ‘webhook_url` when the REST API is used to update Sync objects. The default is `false`.

Returns:



359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 359

def update(
  webhook_url: :unset, 
  friendly_name: :unset, 
  reachability_webhooks_enabled: :unset, 
  acl_enabled: :unset, 
  reachability_debouncing_enabled: :unset, 
  reachability_debouncing_window: :unset, 
  webhooks_from_rest_enabled: :unset
)

    data = Twilio::Values.of({
        'WebhookUrl' => webhook_url,
        'FriendlyName' => friendly_name,
        'ReachabilityWebhooksEnabled' => reachability_webhooks_enabled,
        'AclEnabled' => acl_enabled,
        'ReachabilityDebouncingEnabled' => reachability_debouncing_enabled,
        'ReachabilityDebouncingWindow' => reachability_debouncing_window,
        'WebhooksFromRestEnabled' => webhooks_from_rest_enabled,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.update('POST', @uri, data: data, headers: headers)
    ServiceInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#update_with_metadata(webhook_url: :unset, friendly_name: :unset, reachability_webhooks_enabled: :unset, acl_enabled: :unset, reachability_debouncing_enabled: :unset, reachability_debouncing_window: :unset, webhooks_from_rest_enabled: :unset) ⇒ ServiceInstance

Update the ServiceInstanceMetadata

Parameters:

  • webhook_url (String) (defaults to: :unset)

    The URL we should call when Sync objects are manipulated.

  • friendly_name (String) (defaults to: :unset)

    A string that you assign to describe the resource.

  • reachability_webhooks_enabled (Boolean) (defaults to: :unset)

    Whether the service instance should call ‘webhook_url` when client endpoints connect to Sync. The default is `false`.

  • acl_enabled (Boolean) (defaults to: :unset)

    Whether token identities in the Service must be granted access to Sync objects by using the [Permissions](www.twilio.com/docs/sync/api/sync-permissions) resource.

  • reachability_debouncing_enabled (Boolean) (defaults to: :unset)

    Whether every ‘endpoint_disconnected` event should occur after a configurable delay. The default is `false`, where the `endpoint_disconnected` event occurs immediately after disconnection. When `true`, intervening reconnections can prevent the `endpoint_disconnected` event.

  • reachability_debouncing_window (String) (defaults to: :unset)

    The reachability event delay in milliseconds if ‘reachability_debouncing_enabled` = `true`. Must be between 1,000 and 30,000 and defaults to 5,000. This is the number of milliseconds after the last running client disconnects, and a Sync identity is declared offline, before the webhook is called if all endpoints remain offline. A reconnection from the same identity by any endpoint during this interval prevents the webhook from being called.

  • webhooks_from_rest_enabled (Boolean) (defaults to: :unset)

    Whether the Service instance should call ‘webhook_url` when the REST API is used to update Sync objects. The default is `false`.

Returns:



403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 403

def (
  webhook_url: :unset, 
  friendly_name: :unset, 
  reachability_webhooks_enabled: :unset, 
  acl_enabled: :unset, 
  reachability_debouncing_enabled: :unset, 
  reachability_debouncing_window: :unset, 
  webhooks_from_rest_enabled: :unset
)

    data = Twilio::Values.of({
        'WebhookUrl' => webhook_url,
        'FriendlyName' => friendly_name,
        'ReachabilityWebhooksEnabled' => reachability_webhooks_enabled,
        'AclEnabled' => acl_enabled,
        'ReachabilityDebouncingEnabled' => reachability_debouncing_enabled,
        'ReachabilityDebouncingWindow' => reachability_debouncing_window,
        'WebhooksFromRestEnabled' => webhooks_from_rest_enabled,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    response = @version.('POST', @uri, data: data, headers: headers)
    service_instance = ServiceInstance.new(
        @version,
        response.body,
        sid: @solution[:sid],
    )
    ServiceInstanceMetadata.new(
        @version,
        service_instance,
        response.headers,
        response.status_code
    )
end