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.


345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 345

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_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'],
      '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


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

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:


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

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


401
402
403
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 401

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


407
408
409
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 407

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


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

def duration
  @properties['duration']
end

#enable_turnBoolean

Returns Enable Twilio's Network Traversal TURN service.

Returns:

  • (Boolean)

    Enable Twilio's Network Traversal TURN service


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

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


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

def end_time
  @properties['end_time']
end

#fetchRoomInstance

Fetch the RoomInstance

Returns:


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

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation


547
548
549
550
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 547

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


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

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


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

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


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

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


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

def media_region
  @properties['media_region']
end

#participantsparticipants

Access the participants

Returns:


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

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


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

def record_participants_on_connect
  @properties['record_participants_on_connect']
end

#recording_rulesrecording_rules

Access the recording_rules

Returns:


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

def recording_rules
  context.recording_rules
end

#recordingsrecordings

Access the recordings

Returns:


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

def recordings
  context.recordings
end

#sidString

Returns The unique string that identifies the resource.

Returns:

  • (String)

    The unique string that identifies the resource


389
390
391
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 389

def sid
  @properties['sid']
end

#statusroom.RoomStatus

Returns The status of the room.

Returns:

  • (room.RoomStatus)

    The status of the room


395
396
397
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 395

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


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

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


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

def status_callback_method
  @properties['status_callback_method']
end

#to_sObject

Provide a user friendly representation


540
541
542
543
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 540

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


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

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


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

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:


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

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


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

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


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

def video_codecs
  @properties['video_codecs']
end