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



318
319
320
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
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 318

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



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

def 
  @properties['account_sid']
end

#attributesString



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

def attributes
  @properties['attributes']
end

#bodyString



434
435
436
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 434

def body
  @properties['body']
end

#channel_sidString



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

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



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

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

#date_createdTime



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

def date_created
  @properties['date_created']
end

#date_updatedTime



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the MessageInstance



472
473
474
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 472

def delete
  context.delete
end

#fetchMessageInstance

Fetch a MessageInstance



465
466
467
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 465

def fetch
  context.fetch
end

#fromString



428
429
430
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 428

def from
  @properties['from']
end

#indexString



440
441
442
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 440

def index
  @properties['index']
end

#inspectObject

Provide a detailed, user friendly representation



510
511
512
513
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 510

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

#last_updated_byString



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

def last_updated_by
  @properties['last_updated_by']
end

#mediaHash



452
453
454
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 452

def media
  @properties['media']
end

#service_sidString



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

def service_sid
  @properties['service_sid']
end

#sidString



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

def sid
  @properties['sid']
end

#toString



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

def to
  @properties['to']
end

#to_sObject

Provide a user friendly representation



503
504
505
506
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 503

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

#typeString



446
447
448
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 446

def type
  @properties['type']
end

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

Update the MessageInstance



491
492
493
494
495
496
497
498
499
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 491

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



458
459
460
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 458

def url
  @properties['url']
end

#was_editedBoolean



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

def was_edited
  @properties['was_edited']
end