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](www.twilio.com/docs/api/chat/rest/services) to update the resource from.

  • channel_sid (String)

    The unique ID of the [Channel](www.twilio.com/docs/api/chat/rest/channels) the message belongs to. Can be the Channel’s ‘sid` or `unique_name`.

  • sid (String)

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



170
171
172
173
174
175
176
177
178
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 170

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



182
183
184
185
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 182

def delete

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

#fetchMessageInstance

Fetch the MessageInstance

Returns:



190
191
192
193
194
195
196
197
198
199
200
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 190

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



237
238
239
240
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 237

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

#to_sObject

Provide a user friendly representation



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

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:



207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 207

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