Class: Twilio::REST::Chat::V2::ServiceContext::ChannelContext::MessageContext

Inherits:
InstanceContext
  • Object
show all
Defined in:
lib/twilio-ruby/rest/chat/v2/service/channel/message.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, service_sid, channel_sid, sid) ⇒ MessageContext

Initialize the MessageContext

Parameters:

  • version (Version) —

    Version that contains the resource

  • service_sid (String) —

    The SID of the Service to fetch the resource from.

  • channel_sid (String) —

    The unique ID of the Channel the message to fetch belongs to. Can be the Channel's sid or unique_name.

  • sid (String) —

    The Twilio-provided string that uniquely identifies the Message resource to fetch.



229
230
231
232
233
234
235
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 229

def initialize(version, service_sid, channel_sid, sid)
  super(version)

  # Path Solution
  @solution = {service_sid: service_sid, channel_sid: channel_sid, sid: sid, }
  @uri = "/Services/#{@solution[:service_sid]}/Channels/#{@solution[:channel_sid]}/Messages/#{@solution[:sid]}"
end

Instance Method Details

#delete ⇒ Boolean

Deletes the MessageInstance

Returns:

  • (Boolean) —

    true if delete succeeds, true otherwise



261
262
263
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 261

def delete
  @version.delete('delete', @uri)
end

#fetch ⇒ MessageInstance

Fetch a MessageInstance

Returns:



240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 240

def fetch
  params = Twilio::Values.of({})

  payload = @version.fetch(
      'GET',
      @uri,
      params,
  )

  MessageInstance.new(
      @version,
      payload,
      service_sid: @solution[:service_sid],
      channel_sid: @solution[:channel_sid],
      sid: @solution[:sid],
  )
end

#inspect ⇒ Object

Provide a detailed, user friendly representation



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

def inspect
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
  "#<Twilio.Chat.V2.MessageContext #{context}>"
end

#to_s ⇒ Object

Provide a user friendly representation



311
312
313
314
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 311

def to_s
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
  "#<Twilio.Chat.V2.MessageContext #{context}>"
end

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

Update the MessageInstance

Parameters:

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

    The message to send to the channel. Can also be an empty string or null, which sets the value as an empty string. You can send structured data in the body by serializing it as a string.

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

    A valid JSON string that contains application-specific data.

  • date_created (Time) (defaults to: :unset) —

    The date, specified in ISO 8601 format, to assign to the resource as the date it was created.

  • date_updated (Time) (defaults to: :unset) —

    The date, specified in ISO 8601 format, to assign to the resource as the date it was last updated.

  • last_updated_by (String) (defaults to: :unset) —

    The Identity of the User who last updated the Message, if applicable.

  • from (String) (defaults to: :unset) —

    The Identity of the message's author.

Returns:



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

def update(body: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset, from: :unset)
  data = Twilio::Values.of({
      'Body' => body,
      'Attributes' => attributes,
      'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
      'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
      'LastUpdatedBy' => last_updated_by,
      'From' => from,
  })

  payload = @version.update(
      'POST',
      @uri,
      data: data,
  )

  MessageInstance.new(
      @version,
      payload,
      service_sid: @solution[:service_sid],
      channel_sid: @solution[:channel_sid],
      sid: @solution[:sid],
  )
end