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



899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 899

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



952
953
954
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 952

def 
    @properties['account_sid']
end

#channelschannels

Access the channels



1261
1262
1263
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1261

def channels
    context.channels
end

#consumption_report_intervalString



1012
1013
1014
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1012

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



937
938
939
940
941
942
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 937

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

#date_createdTime



964
965
966
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 964

def date_created
    @properties['date_created']
end

#date_updatedTime



970
971
972
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 970

def date_updated
    @properties['date_updated']
end

#default_channel_creator_role_sidString



988
989
990
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 988

def default_channel_creator_role_sid
    @properties['default_channel_creator_role_sid']
end

#default_channel_role_sidString



982
983
984
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 982

def default_channel_role_sid
    @properties['default_channel_role_sid']
end

#default_service_role_sidString



976
977
978
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 976

def default_service_role_sid
    @properties['default_service_role_sid']
end

#deleteBoolean

Delete the ServiceInstance



1073
1074
1075
1076
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1073

def delete

    context.delete
end

#fetchServiceInstance

Fetch the ServiceInstance



1081
1082
1083
1084
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1081

def fetch

    context.fetch
end

#friendly_nameString



958
959
960
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 958

def friendly_name
    @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation



1288
1289
1290
1291
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1288

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

#limitsHash



1018
1019
1020
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1018

def limits
    @properties['limits']
end


1066
1067
1068
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1066

def links
    @properties['links']
end

#notificationsHash



1054
1055
1056
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1054

def notifications
    @properties['notifications']
end

#post_webhook_urlString



1036
1037
1038
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1036

def post_webhook_url
    @properties['post_webhook_url']
end

#pre_webhook_urlString



1030
1031
1032
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1030

def pre_webhook_url
    @properties['pre_webhook_url']
end

#reachability_enabledBoolean



1000
1001
1002
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1000

def reachability_enabled
    @properties['reachability_enabled']
end

#read_status_enabledBoolean



994
995
996
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 994

def read_status_enabled
    @properties['read_status_enabled']
end

#rolesroles

Access the roles



1268
1269
1270
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1268

def roles
    context.roles
end

#sidString



946
947
948
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 946

def sid
    @properties['sid']
end

#to_sObject

Provide a user friendly representation



1281
1282
1283
1284
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1281

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

#typing_indicator_timeoutString



1006
1007
1008
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1006

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



1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1143

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



1060
1061
1062
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1060

def url
    @properties['url']
end

#usersusers

Access the users



1275
1276
1277
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1275

def users
    context.users
end

#webhook_filtersArray<String>



1048
1049
1050
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1048

def webhook_filters
    @properties['webhook_filters']
end

#webhook_methodString



1042
1043
1044
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1042

def webhook_method
    @properties['webhook_method']
end

#webhooksHash



1024
1025
1026
# File 'lib/twilio-ruby/rest/chat/v1/service.rb', line 1024

def webhooks
    @properties['webhooks']
end