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



315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 315

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'],
      'url' => payload['url'],
      'links' => payload['links'],
  }

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

Instance Method Details

#account_sidString

Returns The account_sid.

Returns:

  • (String)

    The account_sid



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

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:



350
351
352
353
354
355
356
357
358
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 350

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

#date_createdTime

Returns The date_created.

Returns:

  • (Time)

    The date_created



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

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date_updated.

Returns:

  • (Time)

    The date_updated



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

def date_updated
  @properties['date_updated']
end

#durationString

Returns The duration.

Returns:

  • (String)

    The duration



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

def duration
  @properties['duration']
end

#enable_turnBoolean

Returns The enable_turn.

Returns:

  • (Boolean)

    The enable_turn



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

def enable_turn
  @properties['enable_turn']
end

#end_timeTime

Returns The end_time.

Returns:

  • (Time)

    The end_time



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

def end_time
  @properties['end_time']
end

#fetchRoomInstance

Fetch a RoomInstance

Returns:



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

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



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

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

Returns The links.

Returns:

  • (String)

    The links



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

def links
  @properties['links']
end

#max_participantsString

Returns The max_participants.

Returns:

  • (String)

    The max_participants



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

def max_participants
  @properties['max_participants']
end

#record_participants_on_connectBoolean

Returns The record_participants_on_connect.

Returns:

  • (Boolean)

    The record_participants_on_connect



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

def record_participants_on_connect
  @properties['record_participants_on_connect']
end

#recordingsrecordings

Access the recordings

Returns:



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

def recordings
  context.recordings
end

#sidString

Returns The sid.

Returns:

  • (String)

    The sid



362
363
364
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 362

def sid
  @properties['sid']
end

#statusroom.RoomStatus

Returns The status.

Returns:

  • (room.RoomStatus)

    The status



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

def status
  @properties['status']
end

#status_callbackString

Returns The status_callback.

Returns:

  • (String)

    The status_callback



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

def status_callback
  @properties['status_callback']
end

#status_callback_methodString

Returns The status_callback_method.

Returns:

  • (String)

    The status_callback_method



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

def status_callback_method
  @properties['status_callback_method']
end

#to_sObject

Provide a user friendly representation



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

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

#typeroom.RoomType

Returns The type.

Returns:

  • (room.RoomType)

    The type



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

def type
  @properties['type']
end

#unique_nameString

Returns The unique_name.

Returns:

  • (String)

    The unique_name



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

def unique_name
  @properties['unique_name']
end

#update(status: nil) ⇒ RoomInstance

Update the RoomInstance

Parameters:

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

    The status

Returns:



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

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

#urlString

Returns The url.

Returns:

  • (String)

    The url



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

def url
  @properties['url']
end

#video_codecsroom.VideoCodec

Returns The video_codecs.

Returns:

  • (room.VideoCodec)

    The video_codecs



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

def video_codecs
  @properties['video_codecs']
end