Class: AttributedObject::Types::ArrayOf

Inherits:
AttributedObject::Type show all
Defined in:
lib/attributed_object/types/array_of.rb

Instance Method Summary collapse

Constructor Details

#initialize(type_info) ⇒ ArrayOf

Returns a new instance of ArrayOf.



4
5
6
# File 'lib/attributed_object/types/array_of.rb', line 4

def initialize(type_info)
  @type_info = type_info
end

Instance Method Details

#coerce(array) ⇒ Object



13
14
15
16
# File 'lib/attributed_object/types/array_of.rb', line 13

def coerce(array)
  raise AttributedObject::UncoercibleValueError.new("Trying to coerce into Array but value is not an array") if !array.is_a?(Array)
  array.map { |e| AttributedObjectHelpers::TypeCoerce.coerce(@type_info, e) }
end

#strict_check(array) ⇒ Object



8
9
10
11
# File 'lib/attributed_object/types/array_of.rb', line 8

def strict_check(array)
  return false if !array.is_a?(Array)
  array.all?{ |e| AttributedObjectHelpers::TypeCheck.check(@type_info, e) }
end