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.



364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 364

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,
      'max_participant_duration' => payload['max_participant_duration'].to_i,
      'max_concurrent_published_tracks' => payload['max_concurrent_published_tracks'] == nil ? payload['max_concurrent_published_tracks'] : payload['max_concurrent_published_tracks'].to_i,
      'record_participants_on_connect' => payload['record_participants_on_connect'],
      'video_codecs' => payload['video_codecs'],
      'media_region' => payload['media_region'],
      'audio_only' => payload['audio_only'],
      'empty_room_timeout' => payload['empty_room_timeout'].to_i,
      'unused_room_timeout' => payload['unused_room_timeout'].to_i,
      '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



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

def 
  @properties['account_sid']
end

#audio_onlyBoolean

Returns Indicates whether the room will only contain audio track participants for group rooms.

Returns:

  • (Boolean)

    Indicates whether the room will only contain audio track participants for group rooms.



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

def audio_only
  @properties['audio_only']
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:



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

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



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

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



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

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



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

def duration
  @properties['duration']
end

#empty_room_timeoutString

Returns The time a room will remain active after last participant leaves.

Returns:

  • (String)

    The time a room will remain active after last participant leaves.



526
527
528
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 526

def empty_room_timeout
  @properties['empty_room_timeout']
end

#enable_turnBoolean

Returns Enable Twilio’s Network Traversal TURN service.

Returns:

  • (Boolean)

    Enable Twilio’s Network Traversal TURN service



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

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



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

def end_time
  @properties['end_time']
end

#fetchRoomInstance

Fetch the RoomInstance

Returns:



551
552
553
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 551

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



594
595
596
597
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 594

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



544
545
546
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 544

def links
  @properties['links']
end

#max_concurrent_published_tracksString

Returns The maximum number of published tracks allowed in the room at the same time.

Returns:

  • (String)

    The maximum number of published tracks allowed in the room at the same time



496
497
498
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 496

def max_concurrent_published_tracks
  @properties['max_concurrent_published_tracks']
end

#max_participant_durationString

Returns The maximum number of seconds a Participant can be connected to the room.

Returns:

  • (String)

    The maximum number of seconds a Participant can be connected to the room



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

def max_participant_duration
  @properties['max_participant_duration']
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



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

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



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

def media_region
  @properties['media_region']
end

#participantsparticipants

Access the participants

Returns:



574
575
576
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 574

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



502
503
504
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 502

def record_participants_on_connect
  @properties['record_participants_on_connect']
end

#recording_rulesrecording_rules

Access the recording_rules

Returns:



581
582
583
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 581

def recording_rules
  context.recording_rules
end

#recordingsrecordings

Access the recordings

Returns:



567
568
569
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 567

def recordings
  context.recordings
end

#sidString

Returns The unique string that identifies the resource.

Returns:

  • (String)

    The unique string that identifies the resource



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

def sid
  @properties['sid']
end

#statusroom.RoomStatus

Returns The status of the room.

Returns:

  • (room.RoomStatus)

    The status of the room



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

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



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

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



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

def status_callback_method
  @properties['status_callback_method']
end

#to_sObject

Provide a user friendly representation



587
588
589
590
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 587

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



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

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



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

def unique_name
  @properties['unique_name']
end

#unused_room_timeoutString

Returns The time a room will remain active when no one joins.

Returns:

  • (String)

    The time a room will remain active when no one joins.



532
533
534
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 532

def unused_room_timeout
  @properties['unused_room_timeout']
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:



560
561
562
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 560

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



538
539
540
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 538

def url
  @properties['url']
end

#video_codecsArray[room.VideoCodec]

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

Returns:

  • (Array[room.VideoCodec])

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



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

def video_codecs
  @properties['video_codecs']
end