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 this message belongs to.

  • channel_sid (String) (defaults to: nil) —

    The channel_sid

  • sid (String) (defaults to: nil) —

    The sid



279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 279

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_sid ⇒ String

Returns The unique id of the Account responsible for this message.

Returns:

  • (String) —

    The unique id of the Account responsible for this message.



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

def 
  @properties['account_sid']
end

#attributes ⇒ String

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.



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

def attributes
  @properties['attributes']
end

#body ⇒ String

Returns The contents of the message.

Returns:

  • (String) —

    The contents of the message.



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

def body
  @properties['body']
end

#channel_sid ⇒ String

Returns The channel_sid.

Returns:

  • (String) —

    The channel_sid



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

def channel_sid
  @properties['channel_sid']
end

#context ⇒ MessageContext

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

Returns:



312
313
314
315
316
317
318
319
320
321
322
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 312

def context
  unless @instance_context
    @instance_context = MessageContext.new(
        @version,
        @params['service_sid'],
        @params['channel_sid'],
        @params['sid'],
    )
  end
  @instance_context
end

#date_created ⇒ Time

Returns The date that this resource was created.

Returns:

  • (Time) —

    The date that this resource was created.



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

def date_created
  @properties['date_created']
end

#date_updated ⇒ Time

Returns The date that this resource was last updated.

Returns:

  • (Time) —

    The date that this resource was last updated.



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

def date_updated
  @properties['date_updated']
end

#delete ⇒ Boolean

Deletes the MessageInstance

Returns:

  • (Boolean) —

    true if delete succeeds, true otherwise



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

def delete
  context.delete
end

#fetch ⇒ MessageInstance

Fetch a MessageInstance

Returns:



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

def fetch
  context.fetch
end

#from ⇒ String

Returns The identity of the message's author.

Returns:

  • (String) —

    The identity of the message's author.



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

def from
  @properties['from']
end

#index ⇒ String

Returns The index of the message within the Channel.

Returns:

  • (String) —

    The index of the message within the Channel



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

def index
  @properties['index']
end

#inspect ⇒ Object

Provide a detailed, user friendly representation



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

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

#service_sid ⇒ String

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

Returns:

  • (String) —

    The unique id of the Service this message belongs to.



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

def service_sid
  @properties['service_sid']
end

#sid ⇒ String

Returns A 34 character string that uniquely identifies this resource.

Returns:

  • (String) —

    A 34 character string that uniquely identifies this resource.



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

def sid
  @properties['sid']
end

#to ⇒ String

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.



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

def to
  @properties['to']
end

#to_s ⇒ Object

Provide a user friendly representation



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

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:



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

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

#url ⇒ String

Returns An absolute URL for this message.

Returns:

  • (String) —

    An absolute URL for this message.



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

def url
  @properties['url']
end

#was_edited ⇒ Boolean

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.



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

def was_edited
  @properties['was_edited']
end