Class: AMA::Entity::Mapper::Type::BuiltIn::PrimitiveType

Inherits:
AMA::Entity::Mapper::Type show all
Includes:
Mixin::Errors
Defined in:
lib/ama-entity-mapper/type/builtin/primitive_type.rb,
lib/ama-entity-mapper/type/builtin/primitive_type/denormalizer.rb

Overview

Predefined type for Set class

Defined Under Namespace

Classes: Denormalizer

Constant Summary collapse

ALL =

rubocop:enable Lint/UnifiedInteger

primitives.map do |klass, method_map|
  const_set(klass.to_s.upcase, new(klass, method_map))
end

Instance Attribute Summary

Attributes inherited from AMA::Entity::Mapper::Type

#attributes, #denormalizer, #enumerator, #factory, #injector, #normalizer, #parameters, #type, #virtual

Instance Method Summary collapse

Methods included from Mixin::Errors

#compliance_error, #mapping_error, #raise_if_internal, #validation_error

Methods inherited from AMA::Entity::Mapper::Type

#==, #attribute!, #eql?, #hash, #instance!, #instance?, #parameter!, #resolve, #resolve_parameter, #resolved!, #resolved?, #to_def, #to_s, #valid!, #valid?, #violations

Methods included from Mixin::HandlerSupport

declare_handler_block_setter, declare_handler_getter, declare_handler_method, declare_handler_setter, declare_namespace_method, included

Methods included from Mixin::Reflection

#install_object_method, #method_object, #object_variable, #object_variable_exists, #object_variables, #set_object_attribute

Constructor Details

#initialize(type, method_map) ⇒ PrimitiveType

Returns a new instance of PrimitiveType.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/ama-entity-mapper/type/builtin/primitive_type.rb', line 16

def initialize(type, method_map)
  super(type)
  this = self

  factory_block do |*|
    this.compliance_error("#{this} factory should never be called")
  end
  normalizer_block do |entity, *|
    entity
  end
  self.denormalizer = Denormalizer.new(method_map)
  enumerator_block do |*|
    Enumerator.new { |*| }
  end
  injector_block { |*| }
end