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

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

Instance Method Summary collapse

Constructor Details

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

Initialize the MessageInstance

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/chat/api/services) this message belongs to.

  • channel_sid (String) (defaults to: nil)

    The channel_sid

  • sid (String) (defaults to: nil)

    The sid



321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 321

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'],
      'attributes' => payload['attributes'],
      'service_sid' => payload['service_sid'],
      'to' => payload['to'],
      'channel_sid' => payload['channel_sid'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'last_updated_by' => payload['last_updated_by'],
      'was_edited' => payload['was_edited'],
      'from' => payload['from'],
      'body' => payload['body'],
      'index' => payload['index'].to_i,
      'type' => payload['type'],
      'media' => payload['media'],
      '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 message.

Returns:

  • (String)

    The unique id of the Account responsible for this message.



377
378
379
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 377

def 
  @properties['account_sid']
end

#attributesString

Returns A string metadata field you can use to store any data you wish.

Returns:

  • (String)

    A string metadata field you can use to store any data you wish.



383
384
385
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 383

def attributes
  @properties['attributes']
end

#bodyString

Returns The contents of the message.

Returns:

  • (String)

    The contents of the message.



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

def body
  @properties['body']
end

#channel_sidString

Returns The channel_sid.

Returns:

  • (String)

    The channel_sid



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

def channel_sid
  @properties['channel_sid']
end

#contextMessageContext

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

Returns:



357
358
359
360
361
362
363
364
365
366
367
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 357

def context
  unless @instance_context
    @instance_context = MessageContext.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.



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

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.



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the MessageInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



475
476
477
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 475

def delete
  context.delete
end

#fetchMessageInstance

Fetch a MessageInstance

Returns:



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

def fetch
  context.fetch
end

#fromString

Returns The identity of the message’s author.

Returns:

  • (String)

    The identity of the message’s author.



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

def from
  @properties['from']
end

#indexString

Returns The index of the message within the Channel.

Returns:

  • (String)

    The index of the message within the Channel



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

def index
  @properties['index']
end

#inspectObject

Provide a detailed, user friendly representation



514
515
516
517
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 514

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

#last_updated_byString

Returns Field to specify the Identity of the User that last updated the Message.

Returns:

  • (String)

    Field to specify the Identity of the User that last updated the Message



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

def last_updated_by
  @properties['last_updated_by']
end

#mediaHash

Returns If a Media resource instance is attached to the Message, this will contain the Media object for the attached Media.

Returns:

  • (Hash)

    If a Media resource instance is attached to the Message, this will contain the Media object for the attached Media.



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

def media
  @properties['media']
end

#service_sidString

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

Returns:

  • (String)

    The unique id of the Service this message belongs to.



389
390
391
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 389

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.



371
372
373
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 371

def sid
  @properties['sid']
end

#toString

Returns The unique id of the Channel this message was sent to.

Returns:

  • (String)

    The unique id of the Channel this message was sent to.



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

def to
  @properties['to']
end

#to_sObject

Provide a user friendly representation



507
508
509
510
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 507

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

#typeString

Returns Message type.

Returns:

  • (String)

    Message type.



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

def type
  @properties['type']
end

#update(body: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset) ⇒ MessageInstance

Update the MessageInstance

Parameters:

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

    The message body string. You can also send structured data by serializing it into a string. May be updated to empty string or ‘null`, will be set as empty string as a result in this cases.

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

    A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. Note that this will always be null for resources returned via LIST GET operations, but will be present for single GET operations.

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

    The ISO8601 time specifying the datetime the Message should be set as being created.

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

    The ISO8601 time specifying the datetime the Message should be set as having been last updated.

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

    Specify the Identity of the User that last updated the Message (if relevant)

Returns:



495
496
497
498
499
500
501
502
503
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 495

def update(body: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset)
  context.update(
      body: body,
      attributes: attributes,
      date_created: date_created,
      date_updated: date_updated,
      last_updated_by: last_updated_by,
  )
end

#urlString

Returns An absolute URL for this message.

Returns:

  • (String)

    An absolute URL for this message.



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

def url
  @properties['url']
end

#was_editedBoolean

Returns true if the message has been updated since it was created.

Returns:

  • (Boolean)

    true if the message has been updated since it was created.



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

def was_edited
  @properties['was_edited']
end