module Stockboy::Registry
Holds a collection of registered classes for convenient reference by symbolic name
Public Class Methods
extended(base)
click to toggle source
# File lib/stockboy/registry.rb, line 8 def self.extended(base) base.class_eval do @registry = {} end end
Public Instance Methods
all()
click to toggle source
List all named classes in the registry
@return [Hash]
# File lib/stockboy/registry.rb, line 37 def all @registry end
build(key, options, block)
click to toggle source
# File lib/stockboy/registry.rb, line 41 def build(key, options, block) options = [options] unless options.is_a? Array key = find(key) if key.is_a? Symbol key = key.new(*options, &block) if key.is_a? Class key end
find(key)
click to toggle source
Look up a class and return it by symbolic name
@param [Symbol] key @return [Class]
# File lib/stockboy/registry.rb, line 28 def find(key) @registry[key] end
Also aliased as: []
register(key, provider)
click to toggle source
Register a class under a convenient symbolic name
@param [Symbol] key Symbolic name of the class @param [Class] provider Class to be returned when requested
# File lib/stockboy/registry.rb, line 19 def register(key, provider) @registry[key] = provider end