Class: Twilio::REST::Video::V1::RoomInstance
- Inherits:
-
InstanceResource
- Object
- InstanceResource
- Twilio::REST::Video::V1::RoomInstance
- Defined in:
- lib/twilio-ruby/rest/video/v1/room.rb
Instance Method Summary collapse
-
#account_sid ⇒ String
The SID of the [Account](www.twilio.com/docs/iam/api/account) that created the Room resource.
-
#audio_only ⇒ Boolean
When set to true, indicates that the participants in the room will only publish audio.
-
#context ⇒ RoomContext
Generate an instance context for the instance, the context is capable of performing various actions.
-
#date_created ⇒ Time
The date and time in GMT when the resource was created specified in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.
-
#date_updated ⇒ Time
The date and time in GMT when the resource was last updated specified in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.
-
#duration ⇒ String
The duration of the room in seconds.
-
#empty_room_timeout ⇒ String
Specifies how long (in minutes) a room will remain active after last participant leaves.
-
#enable_turn ⇒ Boolean
Deprecated, now always considered to be true.
-
#end_time ⇒ Time
The UTC end time of the room in [ISO 8601](en.wikipedia.org/wiki/ISO_8601#UTC) format.
-
#fetch ⇒ RoomInstance
Fetch the RoomInstance.
-
#initialize(version, payload, sid: nil) ⇒ RoomInstance
constructor
Initialize the RoomInstance.
-
#inspect ⇒ Object
Provide a detailed, user friendly representation.
-
#large_room ⇒ Boolean
Indicates if this is a large room.
-
#links ⇒ Hash
The URLs of related resources.
-
#max_concurrent_published_tracks ⇒ String
The maximum number of published audio, video, and data tracks all participants combined are allowed to publish in the room at the same time.
-
#max_participant_duration ⇒ String
The maximum number of seconds a Participant can be connected to the room.
-
#max_participants ⇒ String
The maximum number of concurrent Participants allowed in the room.
-
#media_region ⇒ String
The region for the media server in Group Rooms.
-
#participants ⇒ participants
Access the participants.
-
#record_participants_on_connect ⇒ Boolean
Whether to start recording when Participants connect.
-
#recording_rules ⇒ recording_rules
Access the recording_rules.
-
#recordings ⇒ recordings
Access the recordings.
-
#sid ⇒ String
The unique string that we created to identify the Room resource.
- #status ⇒ RoomStatus
-
#status_callback ⇒ String
The URL we call using the ‘status_callback_method` to send status information to your application on every room event.
-
#status_callback_method ⇒ String
The HTTP method we use to call ‘status_callback`.
-
#to_s ⇒ Object
Provide a user friendly representation.
- #type ⇒ RoomType
-
#unique_name ⇒ String
An application-defined string that uniquely identifies the resource.
-
#unused_room_timeout ⇒ String
Specifies how long (in minutes) a room will remain active if no one joins.
-
#update(status: nil) ⇒ RoomInstance
Update the RoomInstance.
-
#url ⇒ String
The absolute URL of the resource.
-
#video_codecs ⇒ Array<VideoCodec>
An array of the video codecs that are supported when publishing a track in the room.
Constructor Details
#initialize(version, payload, sid: nil) ⇒ RoomInstance
Initialize the RoomInstance
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 398 399 400 401 402 403 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 369 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'] == nil ? payload['max_participants'] : payload['max_participants'].to_i, 'max_participant_duration' => payload['max_participant_duration'] == nil ? payload['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'] == nil ? payload['empty_room_timeout'] : payload['empty_room_timeout'].to_i, 'unused_room_timeout' => payload['unused_room_timeout'] == nil ? payload['unused_room_timeout'] : payload['unused_room_timeout'].to_i, 'large_room' => payload['large_room'], 'url' => payload['url'], 'links' => payload['links'], } # Context @instance_context = nil @params = { 'sid' => sid || @properties['sid'] , } end |
Instance Method Details
#account_sid ⇒ String
Returns The SID of the [Account](www.twilio.com/docs/iam/api/account) that created the Room resource.
442 443 444 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 442 def account_sid @properties['account_sid'] end |
#audio_only ⇒ Boolean
Returns When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed. Group rooms only.
526 527 528 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 526 def audio_only @properties['audio_only'] end |
#context ⇒ RoomContext
Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context
409 410 411 412 413 414 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 409 def context unless @instance_context @instance_context = RoomContext.new(@version , @params['sid']) end @instance_context end |
#date_created ⇒ Time
Returns The date and time in GMT when the resource was created specified in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.
430 431 432 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 430 def date_created @properties['date_created'] end |
#date_updated ⇒ Time
Returns The date and time in GMT when the resource was last updated specified in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.
436 437 438 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 436 def date_updated @properties['date_updated'] end |
#duration ⇒ String
Returns The duration of the room in seconds.
478 479 480 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 478 def duration @properties['duration'] end |
#empty_room_timeout ⇒ String
Returns Specifies how long (in minutes) a room will remain active after last participant leaves. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed.
532 533 534 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 532 def empty_room_timeout @properties['empty_room_timeout'] end |
#enable_turn ⇒ Boolean
Returns Deprecated, now always considered to be true.
448 449 450 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 448 def enable_turn @properties['enable_turn'] end |
#end_time ⇒ Time
Returns The UTC end time of the room in [ISO 8601](en.wikipedia.org/wiki/ISO_8601#UTC) format.
472 473 474 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 472 def end_time @properties['end_time'] end |
#fetch ⇒ RoomInstance
Fetch the RoomInstance
563 564 565 566 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 563 def fetch context.fetch end |
#inspect ⇒ Object
Provide a detailed, user friendly representation
611 612 613 614 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 611 def inspect values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ") "<Twilio.Video.V1.RoomInstance #{values}>" end |
#large_room ⇒ Boolean
Returns Indicates if this is a large room.
544 545 546 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 544 def large_room @properties['large_room'] end |
#links ⇒ Hash
Returns The URLs of related resources.
556 557 558 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 556 def links @properties['links'] end |
#max_concurrent_published_tracks ⇒ String
Returns The maximum number of published audio, video, and data tracks all participants combined are allowed to publish in the room at the same time. Check [Programmable Video Limits](www.twilio.com/docs/video/programmable-video-limits) for more details. If it is set to 0 it means unconstrained.
502 503 504 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 502 def max_concurrent_published_tracks @properties['max_concurrent_published_tracks'] end |
#max_participant_duration ⇒ String
Returns The maximum number of seconds a Participant can be connected to the room. The maximum possible value is 86400 seconds (24 hours). The default is 14400 seconds (4 hours).
496 497 498 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 496 def max_participant_duration @properties['max_participant_duration'] end |
#max_participants ⇒ String
Returns The maximum number of concurrent Participants allowed in the room.
490 491 492 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 490 def max_participants @properties['max_participants'] end |
#media_region ⇒ String
Returns The region for the media server in Group Rooms. Can be: one of the [available Media Regions](www.twilio.com/docs/video/ip-addresses#media-servers). ***This feature is not available in ‘peer-to-peer` rooms.***.
520 521 522 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 520 def media_region @properties['media_region'] end |
#participants ⇒ participants
Access the participants
591 592 593 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 591 def participants context.participants end |
#record_participants_on_connect ⇒ Boolean
Returns Whether to start recording when Participants connect. ***This feature is not available in ‘peer-to-peer` rooms.***.
508 509 510 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 508 def record_participants_on_connect @properties['record_participants_on_connect'] end |
#recording_rules ⇒ recording_rules
Access the recording_rules
584 585 586 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 584 def recording_rules context.recording_rules end |
#recordings ⇒ recordings
Access the recordings
598 599 600 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 598 def recordings context.recordings end |
#sid ⇒ String
Returns The unique string that we created to identify the Room resource.
418 419 420 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 418 def sid @properties['sid'] end |
#status ⇒ RoomStatus
424 425 426 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 424 def status @properties['status'] end |
#status_callback ⇒ String
Returns The URL we call using the ‘status_callback_method` to send status information to your application on every room event. See [Status Callbacks](www.twilio.com/docs/video/api/status-callbacks) for more info.
460 461 462 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 460 def status_callback @properties['status_callback'] end |
#status_callback_method ⇒ String
Returns The HTTP method we use to call ‘status_callback`. Can be `POST` or `GET` and defaults to `POST`.
466 467 468 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 466 def status_callback_method @properties['status_callback_method'] end |
#to_s ⇒ Object
Provide a user friendly representation
604 605 606 607 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 604 def to_s values = @params.map{|k, v| "#{k}: #{v}"}.join(" ") "<Twilio.Video.V1.RoomInstance #{values}>" end |
#type ⇒ RoomType
484 485 486 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 484 def type @properties['type'] end |
#unique_name ⇒ String
Returns An application-defined string that uniquely identifies the resource. It can be used as a ‘room_sid` in place of the resource’s ‘sid` in the URL to address the resource, assuming it does not contain any [reserved characters](tools.ietf.org/html/rfc3986#section-2.2) that would need to be URL encoded. This value is unique for `in-progress` rooms. SDK clients can use this name to connect to the room. REST API clients can use this name in place of the Room SID to interact with the room as long as the room is `in-progress`.
454 455 456 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 454 def unique_name @properties['unique_name'] end |
#unused_room_timeout ⇒ String
Returns Specifies how long (in minutes) a room will remain active if no one joins. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed.
538 539 540 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 538 def unused_room_timeout @properties['unused_room_timeout'] end |
#update(status: nil) ⇒ RoomInstance
Update the RoomInstance
572 573 574 575 576 577 578 579 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 572 def update( status: nil ) context.update( status: status, ) end |
#url ⇒ String
Returns The absolute URL of the resource.
550 551 552 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 550 def url @properties['url'] end |
#video_codecs ⇒ Array<VideoCodec>
Returns An array of the video codecs that are supported when publishing a track in the room. Can be: ‘VP8` and `H264`. ***This feature is not available in `peer-to-peer` rooms***.
514 515 516 |
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 514 def video_codecs @properties['video_codecs'] end |