<?php
/**
* Class Endurance_ModuleRegistry
*/
class Endurance_ModuleRegistry {
/**
* @var Endurance_Collection
*/
protected static $collection;
/**
* Fetch the collection of modules.
*
* @return Endurance_Collection
*/
public static function collection() {
if ( ! isset( self::$collection ) ) {
self::$collection = Endurance_Collection::make();
}
return self::$collection;
}
/**
* Get a module by name.
*
* @param string $name
*
* @return array
*/
public static function get( $name ) {
return self::collection()->get( $name );
}
/**
* Register a module.
*
* @param $module array Module definition
*/
public static function register( $name, array $module ) {
self::collection()->put( $name, $module );
}
}