Class: LiveKit::VideoGrant

Inherits:
Object
  • Object
show all
Defined in:
lib/livekit/grants.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(roomCreate: nil, roomJoin: nil, roomList: nil, roomRecord: nil, roomAdmin: nil, room: nil, canPublish: nil, canPublishSources: nil, canSubscribe: nil, canPublishData: nil, canUpdateOwnMetadata: nil, hidden: nil, recorder: nil, ingressAdmin: nil) ⇒ VideoGrant

Returns a new instance of VideoGrant.



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/livekit/grants.rb', line 44

def initialize(
  # true if can create or delete rooms
  roomCreate: nil,
  # true if can join room
  roomJoin: nil,
  # true if can list rooms
  roomList: nil,
  # true if can record
  roomRecord: nil,
  # true if can manage the room
  roomAdmin: nil,
  # name of the room for join or admin permissions
  room: nil,
  # for join tokens, can participant publish, true by default
  canPublish: nil,
  # TrackSource types that a participant may publish
  canPublishSources: nil,
  # for join tokens, can participant subscribe, true by default
  canSubscribe: nil,
  # for join tokens, can participant publish data messages, true by default
  canPublishData: nil,
  # by default, a participant is not allowed to update its own metadata
  canUpdateOwnMetadata: nil,
  # if participant should remain invisible to others
  hidden: nil,
  # if participant is recording the room
  recorder: nil,
  # can create and manage Ingress
  ingressAdmin: nil
)
  @roomCreate = roomCreate
  @roomJoin = roomJoin
  @roomList = roomList
  @roomRecord = roomRecord
  @roomAdmin = roomAdmin
  @room = room
  @canPublish = canPublish
  @canPublishSources = canPublishSources
  @canSubscribe = canSubscribe
  @canPublishData = canPublishData
  @canUpdateOwnMetadata = 
  @hidden = hidden
  @recorder = recorder
  @ingressAdmin = ingressAdmin
end

Instance Attribute Details

#canPublishObject

Returns the value of attribute canPublish.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def canPublish
  @canPublish
end

#canPublishDataObject

Returns the value of attribute canPublishData.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def canPublishData
  @canPublishData
end

#canPublishSourcesObject

Returns the value of attribute canPublishSources.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def canPublishSources
  @canPublishSources
end

#canSubscribeObject

Returns the value of attribute canSubscribe.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def canSubscribe
  @canSubscribe
end

#canUpdateOwnMetadataObject

Returns the value of attribute canUpdateOwnMetadata.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def 
  @canUpdateOwnMetadata
end

#hiddenObject

Returns the value of attribute hidden.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def hidden
  @hidden
end

#ingressAdminObject

Returns the value of attribute ingressAdmin.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def ingressAdmin
  @ingressAdmin
end

#recorderObject

Returns the value of attribute recorder.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def recorder
  @recorder
end

#roomObject

Returns the value of attribute room.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def room
  @room
end

#roomAdminObject

Returns the value of attribute roomAdmin.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def roomAdmin
  @roomAdmin
end

#roomCreateObject

Returns the value of attribute roomCreate.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def roomCreate
  @roomCreate
end

#roomJoinObject

Returns the value of attribute roomJoin.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def roomJoin
  @roomJoin
end

#roomListObject

Returns the value of attribute roomList.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def roomList
  @roomList
end

#roomRecordObject

Returns the value of attribute roomRecord.



40
41
42
# File 'lib/livekit/grants.rb', line 40

def roomRecord
  @roomRecord
end

Class Method Details

.from_hash(hash) ⇒ Object



90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/livekit/grants.rb', line 90

def self.from_hash(hash)
  return nil if hash.nil?

  hash = hash.stringify_keys

  VideoGrant.new(
    roomCreate: hash["roomCreate"],
    roomJoin: hash["roomJoin"],
    roomList: hash["roomList"],
    roomRecord: hash["roomRecord"],
    roomAdmin: hash["roomAdmin"],
    room: hash["room"],
    canPublish: hash["canPublish"],
    canPublishSources: hash["canPublishSources"],
    canSubscribe: hash["canSubscribe"],
    canPublishData: hash["canPublishData"],
    canUpdateOwnMetadata: hash["canUpdateOwnMetadata"],
    hidden: hash["hidden"],
    recorder: hash["recorder"],
    ingressAdmin: hash["ingressAdmin"]
  )
end

Instance Method Details

#to_hashObject



113
114
115
116
117
118
119
120
121
122
# File 'lib/livekit/grants.rb', line 113

def to_hash
  hash = {}
  instance_variables.each { |var|
    val = instance_variable_get(var)
    if val != nil
      hash[var.to_s.delete("@")] = val
    end
  }
  hash
end