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

Inherits:
Twilio::REST::InstanceResource show all
Defined in:
lib/twilio-ruby/rest/ip_messaging/v2/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/chat/rest/services) the resource is associated with.

  • channel_sid (String) (defaults to: nil)

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

  • sid (String) (defaults to: nil)

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



355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 355

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'],
      'attributes' => payload['attributes'],
  }

  # 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



407
408
409
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 407

def 
  @properties['account_sid']
end

#attributesString

Returns The JSON string that stores application-specific data.

Returns:

  • (String)

    The JSON string that stores application-specific data



467
468
469
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 467

def attributes
  @properties['attributes']
end

#channel_sidString

Returns The unique ID of the Channel for the member.

Returns:

  • (String)

    The unique ID of the Channel for the member



413
414
415
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 413

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:



387
388
389
390
391
392
393
394
395
396
397
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 387

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



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

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



437
438
439
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 437

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the MemberInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



481
482
483
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 481

def delete
  context.delete
end

#fetchMemberInstance

Fetch a MemberInstance

Returns:



474
475
476
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 474

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



425
426
427
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 425

def identity
  @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



531
532
533
534
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 531

def inspect
  values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.IpMessaging.V2.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



449
450
451
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 449

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



455
456
457
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 455

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



443
444
445
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 443

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



419
420
421
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 419

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



401
402
403
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 401

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



524
525
526
527
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 524

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

#update(role_sid: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset, date_created: :unset, date_updated: :unset, attributes: :unset) ⇒ MemberInstance

Update the MemberInstance

Parameters:

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

    The SID of the [Role](www.twilio.com/docs/chat/rest/roles) to assign to the member. The default roles are those specified on the [Service](www.twilio.com/docs/chat/api/services).

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

    The index of the last [Message](www.twilio.com/docs/chat/rest/messages) that the Member has read within the [Channel](www.twilio.com/docs/chat/channels).

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

    The ISO 8601 timestamp string that represents the date-time of the last [Message](www.twilio.com/docs/chat/rest/messages) read event for the Member within the [Channel](www.twilio.com/docs/chat/channels).

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

    The date, specified in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was created. The default is the current time set by the Chat service. Note that this parameter should only be used when a Member is being recreated from a backup/separate source.

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

    The date, specified in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format, to assign to the resource as the date it was last updated. Note that this parameter should only be used when a Member is being recreated from a backup/separate source and where a Member was previously updated.

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

    A valid JSON string that contains application-specific data.

Returns:



511
512
513
514
515
516
517
518
519
520
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 511

def update(role_sid: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset, date_created: :unset, date_updated: :unset, attributes: :unset)
  context.update(
      role_sid: role_sid,
      last_consumed_message_index: last_consumed_message_index,
      last_consumption_timestamp: last_consumption_timestamp,
      date_created: date_created,
      date_updated: date_updated,
      attributes: attributes,
  )
end

#urlString

Returns The absolute URL of the Member resource.

Returns:

  • (String)

    The absolute URL of the Member resource



461
462
463
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 461

def url
  @properties['url']
end