Method: ModelPack::ClassMethods#array

Defined in:
lib/model_pack/class_methods.rb

#array(name, default: nil, serialize: nil, writer: nil, class_name: nil) ⇒ Object



45
46
47
48
49
50
51
# File 'lib/model_pack/class_methods.rb', line 45

def array(name, default: nil, serialize: nil, writer: nil, class_name: nil)
  attribute(name,
      default: default,
      serialize: serialize,
      as: Array,
      writer: writer || lambda { |array| array.is_a?(Array) ? (array.collect { |v| v.is_a?(Hash) && class_name ? class_name.new(v) : v }) : [] })
end