class EvilEvents::Shared::TypeConverter

@api public @since 0.2.0

Attributes

registry[R]

@return [EvilEvents::Shared::TypeConverter::ConverterRegistry]

@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.rb, line 15
def initialize
  @registry = ConverterRegistry.new
end

Public Instance Methods

register(type_name, coercer) click to toggle source

@param type_name [Symbol] @param coercer [Proc] @return [EvilEvents::Shared::TypeConverter::Converter]

@see EvilEvents::Shared::TypeConverter::ConverterRegistry

@api public @since 0.2.0

# File lib/evil_events/shared/type_converter.rb, line 27
def register(type_name, coercer)
  registry.register(type_name, coercer)
end
resolve_type(type_name, **options) click to toggle source

@param type_name [Symbol] @param options [Hash] @return [EvilEvents::Shared::Types::Any]

@see EvilEvents::Shared::TypeConverter::ConverterRegistry

@api public @since 0.2.0

# File lib/evil_events/shared/type_converter.rb, line 39
def resolve_type(type_name, **options)
  registry.resolve(type_name).transform_to_type(**options)
end