class EvilEvents::Shared::TypeConverter::ConverterRegistry
@api public @since 0.2.0
Constants
- ConverterNotRegisteredError
@since 0.2.0
- ConverterRegistryError
@since 0.2.0
Attributes
converters[R]
@return [Coucnrrent::Map]
@api public @since 0.2.0
Public Class Methods
new()
click to toggle source
@api public @since 0.2.0
# File lib/evil_events/shared/type_converter/converter_registry.rb, line 20 def initialize @converters = EvilEvents::Shared::DependencyContainer.new end
Public Instance Methods
register(type_name, coercer)
click to toggle source
@param type_name [Symbol] @param coercer [Proc] @raise [ArgumentError] @return [Converter]
@api public @since 0.2.0
# File lib/evil_events/shared/type_converter/converter_registry.rb, line 31 def register(type_name, coercer) raise ArgumentError unless type_name.is_a?(Symbol) raise ArgumentError unless coercer.is_a?(Proc) Converter.new(coercer).tap do |converter| converters.register(type_name, converter) end end
resolve(type)
click to toggle source
@param type [Mixed] @raise [ConverterNotRegisteredError] @return [Mixed]
@api public @since 0.2.0
# File lib/evil_events/shared/type_converter/converter_registry.rb, line 46 def resolve(type) converters[type] end
Also aliased as: []