Class: Twilio::REST::Video::V1::RoomInstance

Inherits:
InstanceResource show all
Defined in:
lib/twilio-ruby/rest/video/v1/room.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, sid: nil) ⇒ RoomInstance

Initialize the RoomInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • sid (String) (defaults to: nil)

    The SID of the Room resource to fetch.



331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 331

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

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'status' => payload['status'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'account_sid' => payload['account_sid'],
      'enable_turn' => payload['enable_turn'],
      'unique_name' => payload['unique_name'],
      'status_callback' => payload['status_callback'],
      'status_callback_method' => payload['status_callback_method'],
      'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
      'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
      'type' => payload['type'],
      'max_participants' => payload['max_participants'].to_i,
      'record_participants_on_connect' => payload['record_participants_on_connect'],
      'video_codecs' => payload['video_codecs'],
      'media_region' => payload['media_region'],
      'url' => payload['url'],
      'links' => payload['links'],
  }

  # Context
  @instance_context = nil
  @params = {'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



398
399
400
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 398

def 
  @properties['account_sid']
end

#contextRoomContext

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

Returns:



365
366
367
368
369
370
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 365

def context
  unless @instance_context
    @instance_context = RoomContext.new(@version, @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



386
387
388
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 386

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



392
393
394
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 392

def date_updated
  @properties['date_updated']
end

#durationString

Returns The duration of the room in seconds.

Returns:

  • (String)

    The duration of the room in seconds



434
435
436
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 434

def duration
  @properties['duration']
end

#enable_turnBoolean

Returns Enable Twilio’s Network Traversal TURN service.

Returns:

  • (Boolean)

    Enable Twilio’s Network Traversal TURN service



404
405
406
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 404

def enable_turn
  @properties['enable_turn']
end

#end_timeTime

Returns The UTC end time of the room in UTC ISO 8601 format.

Returns:

  • (Time)

    The UTC end time of the room in UTC ISO 8601 format



428
429
430
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 428

def end_time
  @properties['end_time']
end

#fetchRoomInstance

Fetch the RoomInstance

Returns:



483
484
485
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 483

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



519
520
521
522
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 519

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

Returns The URLs of related resources.

Returns:

  • (String)

    The URLs of related resources



476
477
478
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 476

def links
  @properties['links']
end

#max_participantsString

Returns The maximum number of concurrent Participants allowed in the room.

Returns:

  • (String)

    The maximum number of concurrent Participants allowed in the room



446
447
448
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 446

def max_participants
  @properties['max_participants']
end

#media_regionString

Returns The region for the media server in Group Rooms.

Returns:

  • (String)

    The region for the media server in Group Rooms



464
465
466
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 464

def media_region
  @properties['media_region']
end

#participantsparticipants

Access the participants

Returns:



506
507
508
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 506

def participants
  context.participants
end

#record_participants_on_connectBoolean

Returns Whether to start recording when Participants connect.

Returns:

  • (Boolean)

    Whether to start recording when Participants connect



452
453
454
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 452

def record_participants_on_connect
  @properties['record_participants_on_connect']
end

#recordingsrecordings

Access the recordings

Returns:



499
500
501
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 499

def recordings
  context.recordings
end

#sidString

Returns The unique string that identifies the resource.

Returns:

  • (String)

    The unique string that identifies the resource



374
375
376
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 374

def sid
  @properties['sid']
end

#statusroom.RoomStatus

Returns The status of the room.

Returns:

  • (room.RoomStatus)

    The status of the room



380
381
382
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 380

def status
  @properties['status']
end

#status_callbackString

Returns The URL to send status information to your application.

Returns:

  • (String)

    The URL to send status information to your application



416
417
418
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 416

def status_callback
  @properties['status_callback']
end

#status_callback_methodString

Returns The HTTP method we use to call status_callback.

Returns:

  • (String)

    The HTTP method we use to call status_callback



422
423
424
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 422

def status_callback_method
  @properties['status_callback_method']
end

#to_sObject

Provide a user friendly representation



512
513
514
515
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 512

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

#typeroom.RoomType

Returns The type of room.

Returns:

  • (room.RoomType)

    The type of room



440
441
442
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 440

def type
  @properties['type']
end

#unique_nameString

Returns An application-defined string that uniquely identifies the resource.

Returns:

  • (String)

    An application-defined string that uniquely identifies the resource



410
411
412
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 410

def unique_name
  @properties['unique_name']
end

#update(status: nil) ⇒ RoomInstance

Update the RoomInstance

Parameters:

  • status (room.RoomStatus) (defaults to: nil)

    The new status of the resource. Set to ‘completed` to end the room.

Returns:



492
493
494
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 492

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

#urlString

Returns The absolute URL of the resource.

Returns:

  • (String)

    The absolute URL of the resource



470
471
472
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 470

def url
  @properties['url']
end

#video_codecsroom.VideoCodec

Returns An array of the video codecs that are supported when publishing a track in the room.

Returns:

  • (room.VideoCodec)

    An array of the video codecs that are supported when publishing a track in the room



458
459
460
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 458

def video_codecs
  @properties['video_codecs']
end