Module: Roger::Helpers::Registration
- Included in:
- Release::Finalizers, Release::Processors
- Defined in:
- lib/roger/helpers/registration.rb
Overview
Helper module to handle registration
Instance Method Summary collapse
- #map ⇒ Object
-
#register(name, processor = nil) ⇒ Object
Register a class with a name.
Instance Method Details
#map ⇒ Object
28 29 30 |
# File 'lib/roger/helpers/registration.rb', line 28 def map @_map ||= {} end |
#register(name, processor = nil) ⇒ Object
Register a class with a name. The method can have the following signatures:
def register(processor)
and for legacy reasons:
def register(name, processor)
in the first case the processor must have a name class method.
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/roger/helpers/registration.rb', line 14 def register(name, processor = nil) if name.is_a?(Class) processor = name name = processor.name end type = to_s.split("::").last raise ArgumentError, "#{type} name '#{name.inspect}' already in use" if map.key?(name) raise ArgumentError, "Name must be a symbol" unless name.is_a?(Symbol) map[name] = processor end |