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

  • channel_sid (String) (defaults to: nil)

    The channel_sid

  • sid (String) (defaults to: nil)

    The sid



272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 272

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

Returns:

  • (String)

    The unique id of the Account responsible for this message.



325
326
327
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 325

def 
  @properties['account_sid']
end

#attributesString

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

Returns:

  • (String)

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



331
332
333
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 331

def attributes
  @properties['attributes']
end

#bodyString

Returns The contents of the message.

Returns:

  • (String)

    The contents of the message.



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

def body
  @properties['body']
end

#channel_sidString

Returns The channel_sid.

Returns:

  • (String)

    The channel_sid



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

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:



305
306
307
308
309
310
311
312
313
314
315
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 305

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.



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

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.



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the MessageInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



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

def delete
  context.delete
end

#fetchMessageInstance

Fetch a MessageInstance

Returns:



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

def fetch
  context.fetch
end

#fromString

Returns The identity of the message’s author.

Returns:

  • (String)

    The identity of the message’s author.



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

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



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

def index
  @properties['index']
end

#inspectObject

Provide a detailed, user friendly representation



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

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



337
338
339
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 337

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.



319
320
321
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 319

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.



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

def to
  @properties['to']
end

#to_sObject

Provide a user friendly representation



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

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 new message body string. You can also send structured data by serializing it into a string.

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

    The new attributes metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified.

Returns:



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

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

#urlString

Returns An absolute URL for this message.

Returns:

  • (String)

    An absolute URL for this message.



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

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.



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

def was_edited
  @properties['was_edited']
end