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

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • service_sid (String) (defaults to: nil)

    The service_sid

  • channel_sid (String) (defaults to: nil)

    The channel_sid

  • sid (String) (defaults to: nil)

    The sid



286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 286

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

Returns:

  • (String)

    The account_sid



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

def 
  @properties['account_sid']
end

#attributesString

Returns The attributes.

Returns:

  • (String)

    The attributes



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

def attributes
  @properties['attributes']
end

#bodyString

Returns The body.

Returns:

  • (String)

    The body



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

def body
  @properties['body']
end

#channel_sidString

Returns The channel_sid.

Returns:

  • (String)

    The channel_sid



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

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:



319
320
321
322
323
324
325
326
327
328
329
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 319

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

Returns:

  • (Time)

    The date_created



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

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date_updated.

Returns:

  • (Time)

    The date_updated



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the MessageInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



419
420
421
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 419

def delete
  context.delete
end

#fetchMessageInstance

Fetch a MessageInstance

Returns:



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

def fetch
  context.fetch
end

#fromString

Returns The from.

Returns:

  • (String)

    The from



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

def from
  @properties['from']
end

#indexString

Returns The index.

Returns:

  • (String)

    The index



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

def index
  @properties['index']
end

#service_sidString

Returns The service_sid.

Returns:

  • (String)

    The service_sid



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

def service_sid
  @properties['service_sid']
end

#sidString

Returns The sid.

Returns:

  • (String)

    The sid



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

def sid
  @properties['sid']
end

#toString

Returns The to.

Returns:

  • (String)

    The to



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

def to
  @properties['to']
end

#to_sObject

Provide a user friendly representation



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

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

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

Update the MessageInstance

Parameters:

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

    The body

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

    The attributes

Returns:



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

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

#urlString

Returns The url.

Returns:

  • (String)

    The url



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

def url
  @properties['url']
end

#was_editedBoolean

Returns The was_edited.

Returns:

  • (Boolean)

    The was_edited



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

def was_edited
  @properties['was_edited']
end