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

Inherits:
InstanceContext
  • Object
show all
Defined in:
lib/twilio-ruby/rest/chat/v1/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.


199
200
201
202
203
204
205
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 199

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

#deleteBoolean

Delete the MessageInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise


225
226
227
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 225

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

#fetchMessageInstance

Fetch the MessageInstance

Returns:


210
211
212
213
214
215
216
217
218
219
220
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 210

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

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

#inspectObject

Provide a detailed, user friendly representation


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

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

#to_sObject

Provide a user friendly representation


253
254
255
256
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 253

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

#update(body: :unset, attributes: :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.

Returns:


237
238
239
240
241
242
243
244
245
246
247
248
249
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 237

def update(body: :unset, attributes: :unset)
  data = Twilio::Values.of({'Body' => body, 'Attributes' => attributes, })

  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