Class: Twilio::REST::IpMessaging::V1::ServiceContext::ChannelContext::MemberInstance

Inherits:
Twilio::REST::InstanceResource show all
Defined in:
lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, service_sid: nil, channel_sid: nil, sid: nil) ⇒ MemberInstance

Initialize the MemberInstance

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](www.twilio.com/docs/api/chat/rest/services) the resource is associated with.

  • channel_sid (String) (defaults to: nil)

    The unique ID of the [Channel](www.twilio.com/docs/api/chat/rest/channels) for the member.

  • sid (String) (defaults to: nil)

    The Twilio-provided string that uniquely identifies the Member resource to fetch.



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 311

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

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'account_sid' => payload['account_sid'],
      'channel_sid' => payload['channel_sid'],
      'service_sid' => payload['service_sid'],
      'identity' => payload['identity'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'role_sid' => payload['role_sid'],
      'last_consumed_message_index' => payload['last_consumed_message_index'] == nil ? payload['last_consumed_message_index'] : payload['last_consumed_message_index'].to_i,
      'last_consumption_timestamp' => Twilio.deserialize_iso8601_datetime(payload['last_consumption_timestamp']),
      'url' => payload['url'],
  }

  # Context
  @instance_context = nil
  @params = {
      'service_sid' => service_sid,
      'channel_sid' => channel_sid,
      'sid' => sid || @properties['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



362
363
364
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 362

def 
  @properties['account_sid']
end

#channel_sidString

Returns The unique ID of the Channel for the member.

Returns:

  • (String)

    The unique ID of the Channel for the member



368
369
370
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 368

def channel_sid
  @properties['channel_sid']
end

#contextMemberContext

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

Returns:



342
343
344
345
346
347
348
349
350
351
352
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 342

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

#date_createdTime

Returns The RFC 2822 date and time in GMT when the resource was created.

Returns:

  • (Time)

    The RFC 2822 date and time in GMT when the resource was created



386
387
388
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 386

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The RFC 2822 date and time in GMT when the resource was last updated.

Returns:

  • (Time)

    The RFC 2822 date and time in GMT when the resource was last updated



392
393
394
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 392

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the MemberInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



430
431
432
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 430

def delete
  context.delete
end

#fetchMemberInstance

Fetch a MemberInstance

Returns:



423
424
425
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 423

def fetch
  context.fetch
end

#identityString

Returns The string that identifies the resource’s User.

Returns:

  • (String)

    The string that identifies the resource’s User



380
381
382
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 380

def identity
  @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



458
459
460
461
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 458

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

#last_consumed_message_indexString

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

Returns:

  • (String)

    The index of the last Message that the Member has read within the Channel



404
405
406
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 404

def last_consumed_message_index
  @properties['last_consumed_message_index']
end

#last_consumption_timestampTime

Returns The ISO 8601 based timestamp string that represents the date-time of the last Message read event for the Member within the Channel.

Returns:

  • (Time)

    The ISO 8601 based timestamp string that represents the date-time of the last Message read event for the Member within the Channel



410
411
412
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 410

def last_consumption_timestamp
  @properties['last_consumption_timestamp']
end

#role_sidString

Returns The SID of the Role assigned to the member.

Returns:

  • (String)

    The SID of the Role assigned to the member



398
399
400
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 398

def role_sid
  @properties['role_sid']
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



374
375
376
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 374

def service_sid
  @properties['service_sid']
end

#sidString

Returns The unique string that identifies the resource.

Returns:

  • (String)

    The unique string that identifies the resource



356
357
358
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 356

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



451
452
453
454
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 451

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

#update(role_sid: :unset, last_consumed_message_index: :unset) ⇒ MemberInstance

Update the MemberInstance

Parameters:

Returns:



445
446
447
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 445

def update(role_sid: :unset, last_consumed_message_index: :unset)
  context.update(role_sid: role_sid, last_consumed_message_index: last_consumed_message_index, )
end

#urlString

Returns The absolute URL of the Member resource.

Returns:

  • (String)

    The absolute URL of the Member resource



416
417
418
# File 'lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb', line 416

def url
  @properties['url']
end