Class: Twilio::REST::Chat::V2::ServiceInstance

Inherits:
InstanceResource show all
Defined in:
lib/twilio-ruby/rest/chat/v2/service.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, sid: nil) ⇒ ServiceInstance

Initialize the ServiceInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • sid (String) (defaults to: nil)

    The sid



401
402
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
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 401

def initialize(version, payload, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'account_sid' => payload['account_sid'],
      'friendly_name' => payload['friendly_name'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'default_service_role_sid' => payload['default_service_role_sid'],
      'default_channel_role_sid' => payload['default_channel_role_sid'],
      'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
      'read_status_enabled' => payload['read_status_enabled'],
      'reachability_enabled' => payload['reachability_enabled'],
      'typing_indicator_timeout' => payload['typing_indicator_timeout'].to_i,
      'consumption_report_interval' => payload['consumption_report_interval'].to_i,
      'limits' => payload['limits'],
      'pre_webhook_url' => payload['pre_webhook_url'],
      'post_webhook_url' => payload['post_webhook_url'],
      'webhook_method' => payload['webhook_method'],
      'webhook_filters' => payload['webhook_filters'],
      'notifications' => payload['notifications'],
      'media' => payload['media'],
      'url' => payload['url'],
      'links' => payload['links'],
  }

  # Context
  @instance_context = nil
  @params = {
      'sid' => sid || @properties['sid'],
  }
end

Instance Method Details

#account_sidString

Returns The account_sid.

Returns:

  • (String)

    The account_sid



458
459
460
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 458

def 
  @properties['account_sid']
end

#channelschannels

Access the channels

Returns:



671
672
673
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 671

def channels
  context.channels
end

#consumption_report_intervalString

Returns The consumption_report_interval.

Returns:

  • (String)

    The consumption_report_interval



518
519
520
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 518

def consumption_report_interval
  @properties['consumption_report_interval']
end

#contextServiceContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



440
441
442
443
444
445
446
447
448
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 440

def context
  unless @instance_context
    @instance_context = ServiceContext.new(
        @version,
        @params['sid'],
    )
  end
  @instance_context
end

#date_createdTime

Returns The date_created.

Returns:

  • (Time)

    The date_created



470
471
472
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 470

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date_updated.

Returns:

  • (Time)

    The date_updated



476
477
478
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 476

def date_updated
  @properties['date_updated']
end

#default_channel_creator_role_sidString

Returns The default_channel_creator_role_sid.

Returns:

  • (String)

    The default_channel_creator_role_sid



494
495
496
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 494

def default_channel_creator_role_sid
  @properties['default_channel_creator_role_sid']
end

#default_channel_role_sidString

Returns The default_channel_role_sid.

Returns:

  • (String)

    The default_channel_role_sid



488
489
490
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 488

def default_channel_role_sid
  @properties['default_channel_role_sid']
end

#default_service_role_sidString

Returns The default_service_role_sid.

Returns:

  • (String)

    The default_service_role_sid



482
483
484
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 482

def default_service_role_sid
  @properties['default_service_role_sid']
end

#deleteBoolean

Deletes the ServiceInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



586
587
588
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 586

def delete
  context.delete
end

#fetchServiceInstance

Fetch a ServiceInstance

Returns:



579
580
581
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 579

def fetch
  context.fetch
end

#friendly_nameString

Returns The friendly_name.

Returns:

  • (String)

    The friendly_name



464
465
466
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 464

def friendly_name
  @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation



698
699
700
701
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 698

def inspect
  values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Chat.V2.ServiceInstance #{values}>"
end

#limitsHash

Returns The limits.

Returns:

  • (Hash)

    The limits



524
525
526
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 524

def limits
  @properties['limits']
end

Returns The links.

Returns:

  • (String)

    The links



572
573
574
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 572

def links
  @properties['links']
end

#mediaHash

Returns The media.

Returns:

  • (Hash)

    The media



560
561
562
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 560

def media
  @properties['media']
end

#notificationsHash

Returns The notifications.

Returns:

  • (Hash)

    The notifications



554
555
556
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 554

def notifications
  @properties['notifications']
end

#post_webhook_urlString

Returns The post_webhook_url.

Returns:

  • (String)

    The post_webhook_url



536
537
538
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 536

def post_webhook_url
  @properties['post_webhook_url']
end

#pre_webhook_urlString

Returns The pre_webhook_url.

Returns:

  • (String)

    The pre_webhook_url



530
531
532
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 530

def pre_webhook_url
  @properties['pre_webhook_url']
end

#reachability_enabledBoolean

Returns The reachability_enabled.

Returns:

  • (Boolean)

    The reachability_enabled



506
507
508
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 506

def reachability_enabled
  @properties['reachability_enabled']
end

#read_status_enabledBoolean

Returns The read_status_enabled.

Returns:

  • (Boolean)

    The read_status_enabled



500
501
502
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 500

def read_status_enabled
  @properties['read_status_enabled']
end

#rolesroles

Access the roles

Returns:



678
679
680
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 678

def roles
  context.roles
end

#sidString

Returns The sid.

Returns:

  • (String)

    The sid



452
453
454
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 452

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



691
692
693
694
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 691

def to_s
  values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Chat.V2.ServiceInstance #{values}>"
end

#typing_indicator_timeoutString

Returns The typing_indicator_timeout.

Returns:

  • (String)

    The typing_indicator_timeout



512
513
514
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 512

def typing_indicator_timeout
  @properties['typing_indicator_timeout']
end

#update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_new_message_sound: :unset, notifications_new_message_badge_count_enabled: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_added_to_channel_sound: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_removed_from_channel_sound: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, notifications_invited_to_channel_sound: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, limits_channel_members: :unset, limits_user_channels: :unset, media_compatibility_message: :unset) ⇒ ServiceInstance

Update the ServiceInstance

Parameters:

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

    The friendly_name

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

    The default_service_role_sid

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

    The default_channel_role_sid

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

    The default_channel_creator_role_sid

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

    The read_status_enabled

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

    The reachability_enabled

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

    The typing_indicator_timeout

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

    The consumption_report_interval

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

    The notifications.new_message.enabled

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

    The notifications.new_message.template

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

    The notifications.new_message.sound

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

    The notifications.new_message.badge_count_enabled

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

    The notifications.added_to_channel.enabled

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

    The notifications.added_to_channel.template

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

    The notifications.added_to_channel.sound

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

    The notifications.removed_from_channel.enabled

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

    The notifications.removed_from_channel.template

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

    The notifications.removed_from_channel.sound

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

    The notifications.invited_to_channel.enabled

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

    The notifications.invited_to_channel.template

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

    The notifications.invited_to_channel.sound

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

    The pre_webhook_url

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

    The post_webhook_url

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

    The webhook_method

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

    The webhook_filters

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

    The limits.channel_members

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

    The limits.user_channels

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

    The media.compatibility_message

Returns:



635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 635

def update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_new_message_sound: :unset, notifications_new_message_badge_count_enabled: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_added_to_channel_sound: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_removed_from_channel_sound: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, notifications_invited_to_channel_sound: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, limits_channel_members: :unset, limits_user_channels: :unset, media_compatibility_message: :unset)
  context.update(
      friendly_name: friendly_name,
      default_service_role_sid: default_service_role_sid,
      default_channel_role_sid: default_channel_role_sid,
      default_channel_creator_role_sid: default_channel_creator_role_sid,
      read_status_enabled: read_status_enabled,
      reachability_enabled: reachability_enabled,
      typing_indicator_timeout: typing_indicator_timeout,
      consumption_report_interval: consumption_report_interval,
      notifications_new_message_enabled: notifications_new_message_enabled,
      notifications_new_message_template: notifications_new_message_template,
      notifications_new_message_sound: notifications_new_message_sound,
      notifications_new_message_badge_count_enabled: notifications_new_message_badge_count_enabled,
      notifications_added_to_channel_enabled: notifications_added_to_channel_enabled,
      notifications_added_to_channel_template: notifications_added_to_channel_template,
      notifications_added_to_channel_sound: notifications_added_to_channel_sound,
      notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled,
      notifications_removed_from_channel_template: notifications_removed_from_channel_template,
      notifications_removed_from_channel_sound: notifications_removed_from_channel_sound,
      notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled,
      notifications_invited_to_channel_template: notifications_invited_to_channel_template,
      notifications_invited_to_channel_sound: notifications_invited_to_channel_sound,
      pre_webhook_url: pre_webhook_url,
      post_webhook_url: post_webhook_url,
      webhook_method: webhook_method,
      webhook_filters: webhook_filters,
      limits_channel_members: limits_channel_members,
      limits_user_channels: limits_user_channels,
      media_compatibility_message: media_compatibility_message,
  )
end

#urlString

Returns The url.

Returns:

  • (String)

    The url



566
567
568
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 566

def url
  @properties['url']
end

#usersusers

Access the users

Returns:



685
686
687
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 685

def users
  context.users
end

#webhook_filtersString

Returns The webhook_filters.

Returns:

  • (String)

    The webhook_filters



548
549
550
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 548

def webhook_filters
  @properties['webhook_filters']
end

#webhook_methodString

Returns The webhook_method.

Returns:

  • (String)

    The webhook_method



542
543
544
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 542

def webhook_method
  @properties['webhook_method']
end