class Movie::ExtensionRegistry

Overview

Registry for managing extensions within an ActorSystem.

Defined in:

movie.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new #

[View source]

Instance Method Detail

def all : Array(Extension) #

Returns all registered extensions.


[View source]
def get(type : T.class) : T | Nil forall T #

Returns an extension by type, or nil if not registered.


[View source]
def get!(type : T.class) : T forall T #

Returns an extension by type, raising if not found.


[View source]
def get_or_register(type : T.class, &factory : -> Extension) : T forall T #

Creates, starts, and registers an extension once. Concurrent callers wait for startup to finish and never observe a partially started instance.


[View source]
def get_or_register(type : T.class, extension : Extension) : T forall T #

Compatibility overload for callers that already constructed an instance.


[View source]
def register(extension : Extension) #

Registers an extension instance. The extension's class name is used as the key.


[View source]
def registered?(type : T.class) : Bool forall T #

Returns true if an extension of the given type is registered.


[View source]
def stop_all #

Stops all registered extensions.


[View source]