Class: Twilio::REST::Chat::V2::ServiceContext::RoleInstance

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

Instance Method Summary collapse

Constructor Details

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

Initialize the RoleInstance

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 Role resource is associated with.

  • sid (String) (defaults to: nil)

    The SID of the Role resource to fetch.


245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 245

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'],
      'friendly_name' => payload['friendly_name'],
      'type' => payload['type'],
      'permissions' => payload['permissions'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'url' => payload['url'],
  }

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

Instance Method Details

#account_sidString

Returns The SID of the Account that created the resource.

Returns:

  • (String)

    The SID of the Account that created the resource


285
286
287
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 285

def 
  @properties['account_sid']
end

#contextRoleContext

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

Returns:


270
271
272
273
274
275
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 270

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

#date_createdTime

Returns The ISO 8601 date and time in GMT when the resource was created.

Returns:

  • (Time)

    The ISO 8601 date and time in GMT when the resource was created


315
316
317
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 315

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The ISO 8601 date and time in GMT when the resource was last updated.

Returns:

  • (Time)

    The ISO 8601 date and time in GMT when the resource was last updated


321
322
323
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 321

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Delete the RoleInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise


341
342
343
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 341

def delete
  context.delete
end

#fetchRoleInstance

Fetch the RoleInstance

Returns:


334
335
336
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 334

def fetch
  context.fetch
end

#friendly_nameString

Returns The string that you assigned to describe the resource.

Returns:

  • (String)

    The string that you assigned to describe the resource


297
298
299
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 297

def friendly_name
  @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation


367
368
369
370
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 367

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

#permissionsArray[String]

Returns An array of the permissions the role has been granted.

Returns:

  • (Array[String])

    An array of the permissions the role has been granted


309
310
311
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 309

def permissions
  @properties['permissions']
end

#service_sidString

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


291
292
293
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 291

def service_sid
  @properties['service_sid']
end

#sidString

Returns The unique string that identifies the resource.

Returns:

  • (String)

    The unique string that identifies the resource


279
280
281
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 279

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation


360
361
362
363
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 360

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

#typerole.RoleType

Returns The type of role.

Returns:

  • (role.RoleType)

    The type of role


303
304
305
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 303

def type
  @properties['type']
end

#update(permission: nil) ⇒ RoleInstance

Update the RoleInstance

Parameters:

  • permission (Array[String]) (defaults to: nil)

    A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. Note that the update action replaces all previously assigned permissions with those defined in the update action. To remove a permission, do not include it in the subsequent update action. The values for this parameter depend on the role's `type`.

Returns:


354
355
356
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 354

def update(permission: nil)
  context.update(permission: permission, )
end

#urlString

Returns The absolute URL of the Role resource.

Returns:

  • (String)

    The absolute URL of the Role resource


327
328
329
# File 'lib/twilio-ruby/rest/chat/v2/service/role.rb', line 327

def url
  @properties['url']
end