Class: Twilio::REST::Chat::V2::ServiceContext::UserContext::UserChannelInstance

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

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, service_sid: nil, user_sid: nil, channel_sid: nil) ⇒ UserChannelInstance

Initialize the UserChannelInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • service_sid (String) (defaults to: nil)

    The SID of the Service the User Channel resource is associated with.

  • user_sid (String) (defaults to: nil)

    The SID of the User the User Channel belongs to.

  • channel_sid (String) (defaults to: nil)

    The SID of the Channel that has the User Channel to fetch. This value can be either the sid or the unique_name of the Channel to fetch.



262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 262

def initialize(version, payload, service_sid: nil, user_sid: nil, channel_sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'account_sid' => payload['account_sid'],
      'service_sid' => payload['service_sid'],
      'channel_sid' => payload['channel_sid'],
      'user_sid' => payload['user_sid'],
      'member_sid' => payload['member_sid'],
      'status' => payload['status'],
      'last_consumed_message_index' => payload['last_consumed_message_index'] == nil ? payload['last_consumed_message_index'] : payload['last_consumed_message_index'].to_i,
      'unread_messages_count' => payload['unread_messages_count'] == nil ? payload['unread_messages_count'] : payload['unread_messages_count'].to_i,
      'links' => payload['links'],
      'url' => payload['url'],
      'notification_level' => payload['notification_level'],
  }

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

Instance Method Details

#account_sidString

Returns The SID of the Account that created the resource.

Returns:

  • (String)

    The SID of the Account that created the resource



307
308
309
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 307

def 
  @properties['account_sid']
end

#channel_sidString

Returns The SID of the Channel the resource belongs to.

Returns:

  • (String)

    The SID of the Channel the resource belongs to



319
320
321
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 319

def channel_sid
  @properties['channel_sid']
end

#contextUserChannelContext

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

Returns:



293
294
295
296
297
298
299
300
301
302
303
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 293

def context
  unless @instance_context
    @instance_context = UserChannelContext.new(
        @version,
        @params['service_sid'],
        @params['user_sid'],
        @params['channel_sid'],
    )
  end
  @instance_context
end

#deleteBoolean

Delete the UserChannelInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise



381
382
383
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 381

def delete
  context.delete
end

#fetchUserChannelInstance

Fetch the UserChannelInstance

Returns:



374
375
376
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 374

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



414
415
416
417
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 414

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

#last_consumed_message_indexString

Returns The index of the last Message in the Channel the Member has read.

Returns:

  • (String)

    The index of the last Message in the Channel the Member has read



343
344
345
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 343

def last_consumed_message_index
  @properties['last_consumed_message_index']
end

Returns Absolute URLs to access the Members, Messages , Invites and, if it exists, the last Message for the Channel.

Returns:

  • (String)

    Absolute URLs to access the Members, Messages , Invites and, if it exists, the last Message for the Channel



355
356
357
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 355

def links
  @properties['links']
end

#member_sidString

Returns The SID of the User as a Member in the Channel.

Returns:

  • (String)

    The SID of the User as a Member in the Channel



331
332
333
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 331

def member_sid
  @properties['member_sid']
end

#notification_leveluser_channel.NotificationLevel

Returns The push notification level of the User for the Channel.

Returns:

  • (user_channel.NotificationLevel)

    The push notification level of the User for the Channel



367
368
369
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 367

def notification_level
  @properties['notification_level']
end

#service_sidString

Returns The SID of the Service that the resource is associated with.

Returns:

  • (String)

    The SID of the Service that the resource is associated with



313
314
315
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 313

def service_sid
  @properties['service_sid']
end

#statususer_channel.ChannelStatus

Returns The status of the User on the Channel.

Returns:

  • (user_channel.ChannelStatus)

    The status of the User on the Channel



337
338
339
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 337

def status
  @properties['status']
end

#to_sObject

Provide a user friendly representation



407
408
409
410
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 407

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

#unread_messages_countString

Returns The number of unread Messages in the Channel for the User.

Returns:

  • (String)

    The number of unread Messages in the Channel for the User



349
350
351
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 349

def unread_messages_count
  @properties['unread_messages_count']
end

#update(notification_level: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset) ⇒ UserChannelInstance

Update the UserChannelInstance

Parameters:

  • notification_level (user_channel.NotificationLevel) (defaults to: :unset)

    The push notification level to assign to the User Channel. Can be: default or muted.

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

    The index of the last Message in the Channel that the Member has read.

  • last_consumption_timestamp (Time) (defaults to: :unset)

    The ISO 8601 timestamp of the last Message read event for the Member within the Channel.

Returns:



397
398
399
400
401
402
403
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 397

def update(notification_level: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset)
  context.update(
      notification_level: notification_level,
      last_consumed_message_index: last_consumed_message_index,
      last_consumption_timestamp: last_consumption_timestamp,
  )
end

#urlString

Returns The absolute URL of the resource.

Returns:

  • (String)

    The absolute URL of the resource



361
362
363
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 361

def url
  @properties['url']
end

#user_sidString

Returns The SID of the User the User Channel belongs to.

Returns:

  • (String)

    The SID of the User the User Channel belongs to



325
326
327
# File 'lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb', line 325

def user_sid
  @properties['user_sid']
end