Class: BroadcastHub::StreamKeyResolver
- Inherits:
-
Object
- Object
- BroadcastHub::StreamKeyResolver
- Defined in:
- app/services/broadcast_hub/stream_key_resolver.rb
Overview
Validates subscription context and resolves an Action Cable stream key.
Defined Under Namespace
Classes: Unauthorized
Class Method Summary collapse
-
.resolve!(context) ⇒ String
Resolves the stream key for a subscription context.
Class Method Details
.resolve!(context) ⇒ String
Resolves the stream key for a subscription context.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/services/broadcast_hub/stream_key_resolver.rb', line 15 def resolve!(context) reject!("missing_resource") if context.resource_name.to_s.strip.empty? allowed_resources = Array(configuration.allowed_resources).map(&:to_s) reject!("invalid_resource") unless allowed_resources.include?(context.resource_name.to_s) = configuration. reject!("missing_authorize_scope") unless .respond_to?(:call) reject!("unauthorized_scope") unless .call(context) stream_key_resolver = configuration.stream_key_resolver reject!("missing_stream_key_resolver") unless stream_key_resolver.respond_to?(:call) stream_key = stream_key_resolver.call(context) reject!("missing_identity") if stream_key.to_s.strip.empty? stream_key end |