Sha256: 814f1bdf4815f2796eb0da89cda122e3bc17f98fffc3adcd14c613c09eef4616
Contents?: true
Size: 1.63 KB
Versions: 17
Compression:
Stored size: 1.63 KB
Contents
# frozen_string_literal: true class ReeMapper::Array < ReeMapper::AbstractType attr_reader :of contract ReeMapper::Field => Any def initialize(of) @of = of end contract(Any, Kwargs[role: Nilor[Symbol, ArrayOf[Symbol]]] => Array).throws(ReeMapper::TypeError) def serialize(value, role: nil) if value.is_a?(Array) value.map { if _1.nil? && of.null _1 else of.type.serialize(_1, role: role) end } else raise ReeMapper::TypeError, 'should be an array' end end contract(Any, Kwargs[role: Nilor[Symbol, ArrayOf[Symbol]]] => Array).throws(ReeMapper::TypeError) def cast(value, role: nil) if value.is_a?(Array) value.map { if _1.nil? && of.null _1 else of.type.cast(_1, role: role) end } else raise ReeMapper::TypeError, "should be an array" end end contract(Any, Kwargs[role: Nilor[Symbol, ArrayOf[Symbol]]] => Array).throws(ReeMapper::TypeError) def db_dump(value, role: nil) if value.is_a?(Array) value.map { if _1.nil? && of.null _1 else of.type.db_dump(_1, role: role) end } else raise ReeMapper::TypeError, 'should be an array' end end contract(Any, Kwargs[role: Nilor[Symbol, ArrayOf[Symbol]]] => Array).throws(ReeMapper::TypeError) def db_load(value, role: nil) if value.is_a?(Array) value.map { if _1.nil? && of.null _1 else of.type.db_load(_1, role: role) end } else raise ReeMapper::TypeError, "should be an array" end end end
Version data entries
17 entries across 17 versions & 1 rubygems