Class: Twilio::REST::Chat::V1::ServiceContext::UserInstance

Inherits:
InstanceResource show all
Defined in:
lib/twilio-ruby/rest/chat/v1/service/user.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, service_sid: nil, sid: nil) ⇒ UserInstance

Initialize the UserInstance

Parameters:

  • version (Version) —

    Version that contains the resource

  • payload (Hash) —

    payload that contains response from Twilio

  • service_sid (String) (defaults to: nil) —

    The SID of the Service the resource is associated with.

  • sid (String) (defaults to: nil) —

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



274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 274

def initialize(version, payload, service_sid: nil, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'account_sid' => payload['account_sid'],
      'service_sid' => payload['service_sid'],
      'attributes' => payload['attributes'],
      'friendly_name' => payload['friendly_name'],
      'role_sid' => payload['role_sid'],
      'identity' => payload['identity'],
      'is_online' => payload['is_online'],
      'is_notifiable' => payload['is_notifiable'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'joined_channels_count' => payload['joined_channels_count'] == nil ? payload['joined_channels_count'] : payload['joined_channels_count'].to_i,
      'links' => payload['links'],
      'url' => payload['url'],
  }

  # Context
  @instance_context = nil
  @params = {'service_sid' => service_sid, 'sid' => sid || @properties['sid'], }
end

Instance Method Details

#account_sid ⇒ String

Returns The SID of the Account that created the resource.

Returns:

  • (String) —

    The SID of the Account that created the resource



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

def 
  @properties['account_sid']
end

#attributes ⇒ String

Returns The JSON string that stores application-specific data.

Returns:

  • (String) —

    The JSON string that stores application-specific data



331
332
333
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 331

def attributes
  @properties['attributes']
end

#context ⇒ UserContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



304
305
306
307
308
309
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 304

def context
  unless @instance_context
    @instance_context = UserContext.new(@version, @params['service_sid'], @params['sid'], )
  end
  @instance_context
end

#date_created ⇒ Time

Returns The RFC 2822 date and time in GMT when the resource was created.

Returns:

  • (Time) —

    The RFC 2822 date and time in GMT when the resource was created



367
368
369
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 367

def date_created
  @properties['date_created']
end

#date_updated ⇒ Time

Returns The RFC 2822 date and time in GMT when the resource was last updated.

Returns:

  • (Time) —

    The RFC 2822 date and time in GMT when the resource was last updated



373
374
375
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 373

def date_updated
  @properties['date_updated']
end

#delete ⇒ Boolean

Delete the UserInstance

Returns:

  • (Boolean) —

    true if delete succeeds, false otherwise



405
406
407
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 405

def delete
  context.delete
end

#fetch ⇒ UserInstance

Fetch the UserInstance

Returns:



398
399
400
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 398

def fetch
  context.fetch
end

#friendly_name ⇒ String

Returns The string that you assigned to describe the resource.

Returns:

  • (String) —

    The string that you assigned to describe the resource



337
338
339
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 337

def friendly_name
  @properties['friendly_name']
end

#identity ⇒ String

Returns The string that identifies the resource's User.

Returns:

  • (String) —

    The string that identifies the resource's User



349
350
351
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 349

def identity
  @properties['identity']
end

#inspect ⇒ Object

Provide a detailed, user friendly representation



438
439
440
441
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 438

def inspect
  values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Chat.V1.UserInstance #{values}>"
end

#is_notifiable ⇒ Boolean

Returns Whether the User has a potentially valid Push Notification registration for the Service instance.

Returns:

  • (Boolean) —

    Whether the User has a potentially valid Push Notification registration for the Service instance



361
362
363
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 361

def is_notifiable
  @properties['is_notifiable']
end

#is_online ⇒ Boolean

Returns Whether the User is actively connected to the Service instance and online.

Returns:

  • (Boolean) —

    Whether the User is actively connected to the Service instance and online



355
356
357
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 355

def is_online
  @properties['is_online']
end

#joined_channels_count ⇒ String

Returns The number of Channels this User is a Member of.

Returns:

  • (String) —

    The number of Channels this User is a Member of



379
380
381
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 379

def joined_channels_count
  @properties['joined_channels_count']
end

Returns The absolute URLs of the Channel and Binding resources related to the user.

Returns:

  • (String) —

    The absolute URLs of the Channel and Binding resources related to the user



385
386
387
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 385

def links
  @properties['links']
end

#role_sid ⇒ String

Returns The SID of the assigned to the user.

Returns:

  • (String) —

    The SID of the assigned to the user



343
344
345
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 343

def role_sid
  @properties['role_sid']
end

#service_sid ⇒ String

Returns The SID of the Service that the resource is associated with.

Returns:

  • (String) —

    The SID of the Service that the resource is associated with



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

def service_sid
  @properties['service_sid']
end

#sid ⇒ String

Returns The unique string that identifies the resource.

Returns:

  • (String) —

    The unique string that identifies the resource



313
314
315
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 313

def sid
  @properties['sid']
end

#to_s ⇒ Object

Provide a user friendly representation



431
432
433
434
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 431

def to_s
  values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Chat.V1.UserInstance #{values}>"
end

#update(role_sid: :unset, attributes: :unset, friendly_name: :unset) ⇒ UserInstance

Update the UserInstance

Parameters:

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

    The SID of the Role assigned to this user.

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

    A valid JSON string that contains application-specific data.

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

    A descriptive string that you create to describe the resource. It is often used for display purposes.

Returns:



418
419
420
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 418

def update(role_sid: :unset, attributes: :unset, friendly_name: :unset)
  context.update(role_sid: role_sid, attributes: attributes, friendly_name: friendly_name, )
end

#url ⇒ String

Returns The absolute URL of the User resource.

Returns:

  • (String) —

    The absolute URL of the User resource



391
392
393
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 391

def url
  @properties['url']
end

#user_channels ⇒ user_channels

Access the user_channels

Returns:



425
426
427
# File 'lib/twilio-ruby/rest/chat/v1/service/user.rb', line 425

def user_channels
  context.user_channels
end