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

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

Instance Method Summary collapse

Constructor Details

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

Initialize the MemberContext



187
188
189
190
191
192
193
194
195
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 187

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]}/Members/#{@solution[:sid]}"

    
end

Instance Method Details

#delete(x_twilio_webhook_enabled: :unset) ⇒ Boolean

Delete the MemberInstance



200
201
202
203
204
205
206
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 200

def delete(
    x_twilio_webhook_enabled: :unset
)

    headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
    @version.delete('DELETE', @uri, headers: headers)
end

#fetchMemberInstance

Fetch the MemberInstance



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

def fetch

    payload = @version.fetch('GET', @uri)
    MemberInstance.new(
        @version,
        payload,
        service_sid: @solution[:service_sid],
        channel_sid: @solution[:channel_sid],
        sid: @solution[:sid],
    )
end

#inspectObject

Provide a detailed, user friendly representation



273
274
275
276
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 273

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

#to_sObject

Provide a user friendly representation



266
267
268
269
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 266

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

#update(role_sid: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset, date_created: :unset, date_updated: :unset, attributes: :unset, x_twilio_webhook_enabled: :unset) ⇒ MemberInstance

Update the MemberInstance



233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/member.rb', line 233

def update(
    role_sid: :unset, 
    last_consumed_message_index: :unset, 
    last_consumption_timestamp: :unset, 
    date_created: :unset, 
    date_updated: :unset, 
    attributes: :unset, 
    x_twilio_webhook_enabled: :unset
)

    data = Twilio::Values.of({
        'RoleSid' => role_sid,
        'LastConsumedMessageIndex' => last_consumed_message_index,
        'LastConsumptionTimestamp' => Twilio.serialize_iso8601_datetime(last_consumption_timestamp),
        'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
        'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
        'Attributes' => attributes,
    })

    headers = Twilio::Values.of({ 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
    payload = @version.update('POST', @uri, data: data, headers: headers)
    MemberInstance.new(
        @version,
        payload,
        service_sid: @solution[:service_sid],
        channel_sid: @solution[:channel_sid],
        sid: @solution[:sid],
    )
end