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.



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
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/livekit/grants.rb', line 55

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.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def canPublish
  @canPublish
end

#canPublishDataObject

Returns the value of attribute canPublishData.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def canPublishData
  @canPublishData
end

#canPublishSourcesObject

Returns the value of attribute canPublishSources.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def canPublishSources
  @canPublishSources
end

#canSubscribeObject

Returns the value of attribute canSubscribe.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def canSubscribe
  @canSubscribe
end

#canUpdateOwnMetadataObject

Returns the value of attribute canUpdateOwnMetadata.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def 
  @canUpdateOwnMetadata
end

#hiddenObject

Returns the value of attribute hidden.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def hidden
  @hidden
end

#ingressAdminObject

Returns the value of attribute ingressAdmin.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def ingressAdmin
  @ingressAdmin
end

#recorderObject

Returns the value of attribute recorder.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def recorder
  @recorder
end

#roomObject

Returns the value of attribute room.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def room
  @room
end

#roomAdminObject

Returns the value of attribute roomAdmin.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def roomAdmin
  @roomAdmin
end

#roomCreateObject

Returns the value of attribute roomCreate.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def roomCreate
  @roomCreate
end

#roomJoinObject

Returns the value of attribute roomJoin.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def roomJoin
  @roomJoin
end

#roomListObject

Returns the value of attribute roomList.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def roomList
  @roomList
end

#roomRecordObject

Returns the value of attribute roomRecord.



51
52
53
# File 'lib/livekit/grants.rb', line 51

def roomRecord
  @roomRecord
end

Class Method Details

.from_hash(hash) ⇒ Object



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/livekit/grants.rb', line 101

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



124
125
126
127
128
129
130
131
132
133
# File 'lib/livekit/grants.rb', line 124

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