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

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

Defined Under Namespace

Classes: InviteContext, InviteInstance, InviteList, InvitePage, MemberContext, MemberInstance, MemberList, MemberPage, MessageContext, MessageInstance, MessageList, MessagePage

Instance Method Summary collapse

Constructor Details

#initialize(version, service_sid, sid) ⇒ ChannelContext

Initialize the ChannelContext

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.

  • sid (String)

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



181
182
183
184
185
186
187
188
189
190
191
192
# File 'lib/twilio-ruby/rest/chat/v1/service/channel.rb', line 181

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

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

    # Dependents
    @members = nil
    @messages = nil
    @invites = nil
end

Instance Method Details

#deleteBoolean

Delete the ChannelInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



196
197
198
199
200
201
202
203
# File 'lib/twilio-ruby/rest/chat/v1/service/channel.rb', line 196

def delete

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    @version.delete('DELETE', @uri, headers: headers)
end

#fetchChannelInstance

Fetch the ChannelInstance

Returns:



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

def fetch

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.fetch('GET', @uri, headers: headers)
    ChannelInstance.new(
        @version,
        payload,
        service_sid: @solution[:service_sid],
        sid: @solution[:sid],
    )
end

#inspectObject

Provide a detailed, user friendly representation



325
326
327
328
# File 'lib/twilio-ruby/rest/chat/v1/service/channel.rb', line 325

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

#invites(sid = :unset) ⇒ InviteList, InviteContext

Access the invites

Returns:

Raises:

  • (ArgumentError)


300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
# File 'lib/twilio-ruby/rest/chat/v1/service/channel.rb', line 300

def invites(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return InviteContext.new(@version, @solution[:service_sid], @solution[:sid],sid )
    end

    unless @invites
        @invites = InviteList.new(
            @version, service_sid: @solution[:service_sid], channel_sid: @solution[:sid], )
    end

 @invites
end

#members(sid = :unset) ⇒ MemberList, MemberContext

Access the members

Returns:

Raises:

  • (ArgumentError)


262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
# File 'lib/twilio-ruby/rest/chat/v1/service/channel.rb', line 262

def members(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return MemberContext.new(@version, @solution[:service_sid], @solution[:sid],sid )
    end

    unless @members
        @members = MemberList.new(
            @version, service_sid: @solution[:service_sid], channel_sid: @solution[:sid], )
    end

 @members
end

#messages(sid = :unset) ⇒ MessageList, MessageContext

Access the messages

Returns:

Raises:

  • (ArgumentError)


281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
# File 'lib/twilio-ruby/rest/chat/v1/service/channel.rb', line 281

def messages(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return MessageContext.new(@version, @solution[:service_sid], @solution[:sid],sid )
    end

    unless @messages
        @messages = MessageList.new(
            @version, service_sid: @solution[:service_sid], channel_sid: @solution[:sid], )
    end

 @messages
end

#to_sObject

Provide a user friendly representation



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

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

#update(friendly_name: :unset, unique_name: :unset, attributes: :unset) ⇒ ChannelInstance

Update the ChannelInstance

Parameters:

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

    A descriptive string that you create to describe the resource. It can be up to 64 characters long.

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

    An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource’s sid in the URL. This value must be 64 characters or less in length and be unique within the Service.

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

    A valid JSON string that contains application-specific data.

Returns:



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

def update(
    friendly_name: :unset, 
    unique_name: :unset, 
    attributes: :unset
)

    data = Twilio::Values.of({
        'FriendlyName' => friendly_name,
        'UniqueName' => unique_name,
        'Attributes' => attributes,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.update('POST', @uri, data: data, headers: headers)
    ChannelInstance.new(
        @version,
        payload,
        service_sid: @solution[:service_sid],
        sid: @solution[:sid],
    )
end