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

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/chat/v1/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 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) the Message resource belongs to.

  • sid (String) (defaults to: nil)

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



297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 297

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']),
      'was_edited' => payload['was_edited'],
      'from' => payload['from'],
      'body' => payload['body'],
      'index' => payload['index'].to_i,
      '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



350
351
352
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 350

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



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

def attributes
  @properties['attributes']
end

#bodyString

Returns The content of the message.

Returns:

  • (String)

    The content of the message



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

def body
  @properties['body']
end

#channel_sidString

Returns The unique ID of the Channel the Message resource belongs to.

Returns:

  • (String)

    The unique ID of the Channel the Message resource belongs to



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

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:



330
331
332
333
334
335
336
337
338
339
340
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 330

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 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



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

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



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the MessageInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



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

def delete
  context.delete
end

#fetchMessageInstance

Fetch a MessageInstance

Returns:



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

def fetch
  context.fetch
end

#fromString

Returns The identity of the message’s author.

Returns:

  • (String)

    The identity of the message’s author



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

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



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

def index
  @properties['index']
end

#inspectObject

Provide a detailed, user friendly representation



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

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



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

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



344
345
346
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 344

def sid
  @properties['sid']
end

#toString

Returns The SID of the Channel that the message was sent to.

Returns:

  • (String)

    The SID of the Channel that the message was sent to



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

def to
  @properties['to']
end

#to_sObject

Provide a user friendly representation



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

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

#update(body: :unset, attributes: :unset) ⇒ MessageInstance

Update the MessageInstance

Parameters:

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

    The message to send to the channel. Can also be an empty string or ‘null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string.

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

    A valid JSON string that contains application-specific data.

Returns:



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

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

#urlString

Returns The absolute URL of the Message resource.

Returns:

  • (String)

    The absolute URL of the Message resource



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

def url
  @properties['url']
end

#was_editedBoolean

Returns Whether the message has been edited since it was created.

Returns:

  • (Boolean)

    Whether the message has been edited since it was created



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

def was_edited
  @properties['was_edited']
end