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 unique id of the [Service](www.twilio.com/docs/api/chat/rest/services) this member belongs to.

  • channel_sid (String) (defaults to: nil)

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

  • sid (String) (defaults to: nil)

    Key that uniquely defines the member to fetch. Could be Member Sid or Identity



336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 336

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 unique id of the Account responsible for this member.

Returns:

  • (String)

    The unique id of the Account responsible for this member.



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

def 
  @properties['account_sid']
end

#channel_sidString

Returns The unique id of the Channel for this member.

Returns:

  • (String)

    The unique id of the Channel for this member.



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

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:



367
368
369
370
371
372
373
374
375
376
377
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 367

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 date that this resource was created.

Returns:

  • (Time)

    The date that this resource was created.



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

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date that this resource was last updated.

Returns:

  • (Time)

    The date that this resource was last updated.



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the MemberInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



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

def delete
  context.delete
end

#fetchMemberInstance

Fetch a MemberInstance

Returns:



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

def fetch
  context.fetch
end

#identityString

Returns A unique string identifier for this User in this Service.

Returns:

  • (String)

    A unique string identifier for this User in this Service.



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

def identity
  @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



498
499
500
501
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 498

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

#last_consumed_message_indexString

Returns An Integer representing index of the last Message this Member has read within this Channel.

Returns:

  • (String)

    An Integer representing index of the last Message this Member has read within this Channel



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

def last_consumed_message_index
  @properties['last_consumed_message_index']
end

#last_consumption_timestampTime

Returns An ISO8601 based timestamp string representing the datetime of the last Message read event for this Member within this Channel.

Returns:

  • (Time)

    An ISO8601 based timestamp string representing the datetime of the last Message read event for this Member within this Channel



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

def last_consumption_timestamp
  @properties['last_consumption_timestamp']
end

#role_sidString

Returns The Role assigned to this member.

Returns:

  • (String)

    The Role assigned to this member.



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

def role_sid
  @properties['role_sid']
end

#service_sidString

Returns The unique id of the Service this member belongs to.

Returns:

  • (String)

    The unique id of the Service this member belongs to.



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

def service_sid
  @properties['service_sid']
end

#sidString

Returns A 34 character string that uniquely identifies this resource.

Returns:

  • (String)

    A 34 character string that uniquely identifies this resource.



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

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



491
492
493
494
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 491

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) ⇒ MemberInstance

Update the MemberInstance

Parameters:

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

    The role to be assigned to this member. Defaults to the roles specified on the [Service](www.twilio.com/docs/chat/api/services).

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

    Field used to specify the last consumed Message index for the Channel for this Member. Should only be used when recreating a Member from a backup/separate source.

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

    ISO8601 time indicating the last datetime the Member consumed a Message in the Channel. Should only be used when recreating a Member from a backup/separate source

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

    The ISO8601 time specifying the datetime the Members should be set as being created. Will be set to the current time by the Chat service if not specified. Note that this should only be used in cases where a Member is being recreated from a backup/separate source

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

    The ISO8601 time specifying the datetime the Member should be set as having been last updated. Will be set to the ‘null` by the Chat service if not specified. Note that this should only be used in cases where a Member is being recreated from a backup/separate source and where a Member was previously updated.

Returns:



479
480
481
482
483
484
485
486
487
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb', line 479

def update(role_sid: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset, date_created: :unset, date_updated: :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,
  )
end

#urlString

Returns An absolute URL for this member.

Returns:

  • (String)

    An absolute URL for this member.



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

def url
  @properties['url']
end