Sha256: 15439c7c06a2572009e5252d686fb84bb16f0a0dd14d67c554c5e3987ecc675d
Contents?: true
Size: 1.08 KB
Versions: 54
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true class ReeMapper::BuildMapperFactory include Ree::FnDSL fn :build_mapper_factory do link 'ree_mapper/mapper', -> { Mapper } link 'ree_mapper/mapper_factory', -> { MapperFactory } link 'ree_mapper/mapper_strategy', -> { MapperStrategy } end contract(ArrayOf[MapperStrategy] => SubclassOf[MapperFactory]) def call(strategies:) klass = Class.new(ReeMapper::MapperFactory) klass.instance_eval { @types = {} @wrappers = {} @strategies = strategies } klass.register_type(:bool, ReeMapper::Bool.new) klass.register_type(:date_time, ReeMapper::DateTime.new) klass.register_type(:time, ReeMapper::Time.new) klass.register_type(:date, ReeMapper::Date.new) klass.register_type(:float, ReeMapper::Float.new) klass.register_type(:integer, ReeMapper::Integer.new) klass.register_type(:string, ReeMapper::String.new) klass.register_type(:any, ReeMapper::Any.new) klass.register_type(:rational, ReeMapper::Rational.new) klass.register_wrapper(:array, ReeMapper::Array) klass end end
Version data entries
54 entries across 54 versions & 1 rubygems