Class: Twilio::REST::Chat::V1::ServiceInstance

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

Instance Method Summary collapse

Constructor Details

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

Initialize the ServiceInstance



479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 479

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'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
        'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
        'limits' => payload['limits'],
        'webhooks' => payload['webhooks'],
        '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'],
        'url' => payload['url'],
        'links' => payload['links'],
    }

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

Instance Method Details

#account_sidString



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

def 
    @properties['account_sid']
end

#channelschannels

Access the channels



840
841
842
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 840

def channels
    context.channels
end

#consumption_report_intervalString



591
592
593
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 591

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



516
517
518
519
520
521
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 516

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

#date_createdTime



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

def date_created
    @properties['date_created']
end

#date_updatedTime



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

def date_updated
    @properties['date_updated']
end

#default_channel_creator_role_sidString



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

def default_channel_creator_role_sid
    @properties['default_channel_creator_role_sid']
end

#default_channel_role_sidString



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

def default_channel_role_sid
    @properties['default_channel_role_sid']
end

#default_service_role_sidString



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

def default_service_role_sid
    @properties['default_service_role_sid']
end

#deleteBoolean

Delete the ServiceInstance



652
653
654
655
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 652

def delete

    context.delete
end

#fetchServiceInstance

Fetch the ServiceInstance



660
661
662
663
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 660

def fetch

    context.fetch
end

#friendly_nameString



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

def friendly_name
    @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation



867
868
869
870
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 867

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

#limitsHash



597
598
599
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 597

def limits
    @properties['limits']
end


645
646
647
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 645

def links
    @properties['links']
end

#notificationsHash



633
634
635
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 633

def notifications
    @properties['notifications']
end

#post_webhook_urlString



615
616
617
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 615

def post_webhook_url
    @properties['post_webhook_url']
end

#pre_webhook_urlString



609
610
611
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 609

def pre_webhook_url
    @properties['pre_webhook_url']
end

#reachability_enabledBoolean



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

def reachability_enabled
    @properties['reachability_enabled']
end

#read_status_enabledBoolean



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

def read_status_enabled
    @properties['read_status_enabled']
end

#rolesroles

Access the roles



847
848
849
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 847

def roles
    context.roles
end

#sidString



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

def sid
    @properties['sid']
end

#to_sObject

Provide a user friendly representation



860
861
862
863
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 860

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

#typing_indicator_timeoutString



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

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_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, webhooks_on_message_send_url: :unset, webhooks_on_message_send_method: :unset, webhooks_on_message_update_url: :unset, webhooks_on_message_update_method: :unset, webhooks_on_message_remove_url: :unset, webhooks_on_message_remove_method: :unset, webhooks_on_channel_add_url: :unset, webhooks_on_channel_add_method: :unset, webhooks_on_channel_destroy_url: :unset, webhooks_on_channel_destroy_method: :unset, webhooks_on_channel_update_url: :unset, webhooks_on_channel_update_method: :unset, webhooks_on_member_add_url: :unset, webhooks_on_member_add_method: :unset, webhooks_on_member_remove_url: :unset, webhooks_on_member_remove_method: :unset, webhooks_on_message_sent_url: :unset, webhooks_on_message_sent_method: :unset, webhooks_on_message_updated_url: :unset, webhooks_on_message_updated_method: :unset, webhooks_on_message_removed_url: :unset, webhooks_on_message_removed_method: :unset, webhooks_on_channel_added_url: :unset, webhooks_on_channel_added_method: :unset, webhooks_on_channel_destroyed_url: :unset, webhooks_on_channel_destroyed_method: :unset, webhooks_on_channel_updated_url: :unset, webhooks_on_channel_updated_method: :unset, webhooks_on_member_added_url: :unset, webhooks_on_member_added_method: :unset, webhooks_on_member_removed_url: :unset, webhooks_on_member_removed_method: :unset, limits_channel_members: :unset, limits_user_channels: :unset) ⇒ ServiceInstance

Update the ServiceInstance



722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 722

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_added_to_channel_enabled: :unset, 
    notifications_added_to_channel_template: :unset, 
    notifications_removed_from_channel_enabled: :unset, 
    notifications_removed_from_channel_template: :unset, 
    notifications_invited_to_channel_enabled: :unset, 
    notifications_invited_to_channel_template: :unset, 
    pre_webhook_url: :unset, 
    post_webhook_url: :unset, 
    webhook_method: :unset, 
    webhook_filters: :unset, 
    webhooks_on_message_send_url: :unset, 
    webhooks_on_message_send_method: :unset, 
    webhooks_on_message_update_url: :unset, 
    webhooks_on_message_update_method: :unset, 
    webhooks_on_message_remove_url: :unset, 
    webhooks_on_message_remove_method: :unset, 
    webhooks_on_channel_add_url: :unset, 
    webhooks_on_channel_add_method: :unset, 
    webhooks_on_channel_destroy_url: :unset, 
    webhooks_on_channel_destroy_method: :unset, 
    webhooks_on_channel_update_url: :unset, 
    webhooks_on_channel_update_method: :unset, 
    webhooks_on_member_add_url: :unset, 
    webhooks_on_member_add_method: :unset, 
    webhooks_on_member_remove_url: :unset, 
    webhooks_on_member_remove_method: :unset, 
    webhooks_on_message_sent_url: :unset, 
    webhooks_on_message_sent_method: :unset, 
    webhooks_on_message_updated_url: :unset, 
    webhooks_on_message_updated_method: :unset, 
    webhooks_on_message_removed_url: :unset, 
    webhooks_on_message_removed_method: :unset, 
    webhooks_on_channel_added_url: :unset, 
    webhooks_on_channel_added_method: :unset, 
    webhooks_on_channel_destroyed_url: :unset, 
    webhooks_on_channel_destroyed_method: :unset, 
    webhooks_on_channel_updated_url: :unset, 
    webhooks_on_channel_updated_method: :unset, 
    webhooks_on_member_added_url: :unset, 
    webhooks_on_member_added_method: :unset, 
    webhooks_on_member_removed_url: :unset, 
    webhooks_on_member_removed_method: :unset, 
    limits_channel_members: :unset, 
    limits_user_channels: :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_added_to_channel_enabled: notifications_added_to_channel_enabled, 
        notifications_added_to_channel_template: notifications_added_to_channel_template, 
        notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled, 
        notifications_removed_from_channel_template: notifications_removed_from_channel_template, 
        notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled, 
        notifications_invited_to_channel_template: notifications_invited_to_channel_template, 
        pre_webhook_url: pre_webhook_url, 
        post_webhook_url: post_webhook_url, 
        webhook_method: webhook_method, 
        webhook_filters: webhook_filters, 
        webhooks_on_message_send_url: webhooks_on_message_send_url, 
        webhooks_on_message_send_method: webhooks_on_message_send_method, 
        webhooks_on_message_update_url: webhooks_on_message_update_url, 
        webhooks_on_message_update_method: webhooks_on_message_update_method, 
        webhooks_on_message_remove_url: webhooks_on_message_remove_url, 
        webhooks_on_message_remove_method: webhooks_on_message_remove_method, 
        webhooks_on_channel_add_url: webhooks_on_channel_add_url, 
        webhooks_on_channel_add_method: webhooks_on_channel_add_method, 
        webhooks_on_channel_destroy_url: webhooks_on_channel_destroy_url, 
        webhooks_on_channel_destroy_method: webhooks_on_channel_destroy_method, 
        webhooks_on_channel_update_url: webhooks_on_channel_update_url, 
        webhooks_on_channel_update_method: webhooks_on_channel_update_method, 
        webhooks_on_member_add_url: webhooks_on_member_add_url, 
        webhooks_on_member_add_method: webhooks_on_member_add_method, 
        webhooks_on_member_remove_url: webhooks_on_member_remove_url, 
        webhooks_on_member_remove_method: webhooks_on_member_remove_method, 
        webhooks_on_message_sent_url: webhooks_on_message_sent_url, 
        webhooks_on_message_sent_method: webhooks_on_message_sent_method, 
        webhooks_on_message_updated_url: webhooks_on_message_updated_url, 
        webhooks_on_message_updated_method: webhooks_on_message_updated_method, 
        webhooks_on_message_removed_url: webhooks_on_message_removed_url, 
        webhooks_on_message_removed_method: webhooks_on_message_removed_method, 
        webhooks_on_channel_added_url: webhooks_on_channel_added_url, 
        webhooks_on_channel_added_method: webhooks_on_channel_added_method, 
        webhooks_on_channel_destroyed_url: webhooks_on_channel_destroyed_url, 
        webhooks_on_channel_destroyed_method: webhooks_on_channel_destroyed_method, 
        webhooks_on_channel_updated_url: webhooks_on_channel_updated_url, 
        webhooks_on_channel_updated_method: webhooks_on_channel_updated_method, 
        webhooks_on_member_added_url: webhooks_on_member_added_url, 
        webhooks_on_member_added_method: webhooks_on_member_added_method, 
        webhooks_on_member_removed_url: webhooks_on_member_removed_url, 
        webhooks_on_member_removed_method: webhooks_on_member_removed_method, 
        limits_channel_members: limits_channel_members, 
        limits_user_channels: limits_user_channels, 
    )
end

#urlString



639
640
641
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 639

def url
    @properties['url']
end

#usersusers

Access the users



854
855
856
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 854

def users
    context.users
end

#webhook_filtersArray<String>



627
628
629
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 627

def webhook_filters
    @properties['webhook_filters']
end

#webhook_methodString



621
622
623
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 621

def webhook_method
    @properties['webhook_method']
end

#webhooksHash



603
604
605
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 603

def webhooks
    @properties['webhooks']
end