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

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/chat/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 the Member resource is associated with.

  • channel_sid (String) (defaults to: nil)

    The SID of the Channel the Member resource belongs to.

  • sid (String) (defaults to: nil)

    The SID of the Member resource to fetch. This value can be either the Member's `sid` or its `identity` value.


349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 349

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


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

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


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

def attributes
  @properties['attributes']
end

#channel_sidString

Returns The SID of the Channel for the member.

Returns:

  • (String)

    The SID of the Channel for the member


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

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:


381
382
383
384
385
386
387
388
389
390
391
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 381

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 ISO 8601 date and time in GMT when the resource was created.

Returns:

  • (Time)

    The ISO 8601 date and time in GMT when the resource was created


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

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The ISO 8601 date and time in GMT when the resource was last updated.

Returns:

  • (Time)

    The ISO 8601 date and time in GMT when the resource was last updated


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

def date_updated
  @properties['date_updated']
end

#delete(x_twilio_webhook_enabled: :unset) ⇒ Boolean

Delete the MemberInstance

Parameters:

  • x_twilio_webhook_enabled (member.WebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise


477
478
479
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 477

def delete(x_twilio_webhook_enabled: :unset)
  context.delete(x_twilio_webhook_enabled: x_twilio_webhook_enabled, )
end

#fetchMemberInstance

Fetch the MemberInstance

Returns:


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

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


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

def identity
  @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation


528
529
530
531
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 528

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


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

def last_consumed_message_index
  @properties['last_consumed_message_index']
end

#last_consumption_timestampTime

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

Returns:

  • (Time)

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


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

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


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

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


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

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


395
396
397
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 395

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation


521
522
523
524
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 521

def to_s
  values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Chat.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, x_twilio_webhook_enabled: :unset) ⇒ MemberInstance

Update the MemberInstance

Parameters:

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

    The SID of the Role to assign to the member. The default roles are those specified on the Service.

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

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

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

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

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

    The date, specified in ISO 8601 format, to assign to the resource as the date it was created. The default value 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 format, to assign to the resource as the date it was last updated.

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

    A valid JSON string that contains application-specific data.

  • x_twilio_webhook_enabled (member.WebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:


507
508
509
510
511
512
513
514
515
516
517
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 507

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

#urlString

Returns The absolute URL of the Member resource.

Returns:

  • (String)

    The absolute URL of the Member resource


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

def url
  @properties['url']
end