Class: AMA::Entity::Mapper::Type::Resolver
- Inherits:
-
Object
- Object
- AMA::Entity::Mapper::Type::Resolver
- Includes:
- Mixin::Errors
- Defined in:
- lib/ama-entity-mapper/type/resolver.rb
Overview
This class is responsible for resolution of simple type definitions, converting definitions like
- Array, T: [NilClass, [Hash, K: Symbol, V: Integer]]
-
into real type hierarchy
Instance Method Summary collapse
-
#initialize(registry) ⇒ Resolver
constructor
A new instance of Resolver.
- #resolve(definition) ⇒ Object
Methods included from Mixin::Errors
#compliance_error, #mapping_error, #raise_if_internal, #validation_error
Constructor Details
#initialize(registry) ⇒ Resolver
Returns a new instance of Resolver.
19 20 21 |
# File 'lib/ama-entity-mapper/type/resolver.rb', line 19 def initialize(registry) @registry = registry end |
Instance Method Details
#resolve(definition) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/ama-entity-mapper/type/resolver.rb', line 23 def resolve(definition) definition = [definition] unless definition.is_a?(Enumerable) resolve_definition(definition) rescue StandardError => parent = "Definition #{definition} resolution resulted " \ "in error: #{parent}" compliance_error() end |