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



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

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:



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

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



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

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date_updated.

Returns:

  • (Time)

    The date_updated



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

def date_updated
  @properties['date_updated']
end

#durationString

Returns The duration.

Returns:

  • (String)

    The duration



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

def duration
  @properties['duration']
end

#enable_turnBoolean

Returns The enable_turn.

Returns:

  • (Boolean)

    The enable_turn



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

def enable_turn
  @properties['enable_turn']
end

#end_timeTime

Returns The end_time.

Returns:

  • (Time)

    The end_time



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

def end_time
  @properties['end_time']
end

#fetchRoomInstance

Fetch a RoomInstance

Returns:



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

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



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

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

Returns The links.

Returns:

  • (String)

    The links



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

def links
  @properties['links']
end

#max_participantsString

Returns The max_participants.

Returns:

  • (String)

    The max_participants



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

def max_participants
  @properties['max_participants']
end

#record_participants_on_connectBoolean

Returns The record_participants_on_connect.

Returns:

  • (Boolean)

    The record_participants_on_connect



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

def record_participants_on_connect
  @properties['record_participants_on_connect']
end

#recordingsrecordings

Access the recordings

Returns:



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

def recordings
  context.recordings
end

#sidString

Returns The sid.

Returns:

  • (String)

    The sid



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

def sid
  @properties['sid']
end

#statusroom.RoomStatus

Returns The status.

Returns:

  • (room.RoomStatus)

    The status



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

def status
  @properties['status']
end

#status_callbackString

Returns The status_callback.

Returns:

  • (String)

    The status_callback



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

def status_callback
  @properties['status_callback']
end

#status_callback_methodString

Returns The status_callback_method.

Returns:

  • (String)

    The status_callback_method



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

def status_callback_method
  @properties['status_callback_method']
end

#to_sObject

Provide a user friendly representation



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

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



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

def type
  @properties['type']
end

#unique_nameString

Returns The unique_name.

Returns:

  • (String)

    The unique_name



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

def unique_name
  @properties['unique_name']
end

#update(status: nil) ⇒ RoomInstance

Update the RoomInstance

Parameters:

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

    The status

Returns:



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

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

#urlString

Returns The url.

Returns:

  • (String)

    The url



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

def url
  @properties['url']
end