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

Inherits:
Twilio::REST::InstanceResource show all
Defined in:
lib/twilio-ruby/rest/ip_messaging/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



337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb', line 337

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



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

def 
  @properties['account_sid']
end

#attributesString



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

def attributes
  @properties['attributes']
end

#bodyString



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

def body
  @properties['body']
end

#channel_sidString



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

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



373
374
375
376
377
378
379
380
381
382
383
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb', line 373

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

#date_createdTime



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

def date_created
  @properties['date_created']
end

#date_updatedTime



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the MessageInstance



491
492
493
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb', line 491

def delete
  context.delete
end

#fetchMessageInstance

Fetch a MessageInstance



484
485
486
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb', line 484

def fetch
  context.fetch
end

#fromString



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

def from
  @properties['from']
end

#indexString



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

def index
  @properties['index']
end

#inspectObject

Provide a detailed, user friendly representation



536
537
538
539
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb', line 536

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

#last_updated_byString



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

def last_updated_by
  @properties['last_updated_by']
end

#mediaHash



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

def media
  @properties['media']
end

#service_sidString



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

def service_sid
  @properties['service_sid']
end

#sidString



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

def sid
  @properties['sid']
end

#toString



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

def to
  @properties['to']
end

#to_sObject

Provide a user friendly representation



529
530
531
532
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb', line 529

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

#typeString



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

def type
  @properties['type']
end

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

Update the MessageInstance



516
517
518
519
520
521
522
523
524
525
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb', line 516

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

#urlString



477
478
479
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb', line 477

def url
  @properties['url']
end

#was_editedBoolean



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

def was_edited
  @properties['was_edited']
end