class Dry::Data::Type::Array

Public Class Methods

constructor(array_constructor, member_constructor, input) click to toggle source
# File lib/dry/data/type/array.rb, line 5
def self.constructor(array_constructor, member_constructor, input)
  array_constructor[input].map { |value| member_constructor[value] }
end

Public Instance Methods

member(type) click to toggle source
# File lib/dry/data/type/array.rb, line 9
def member(type)
  member_constructor =
    case type
    when String, Class then Data[type]
    else type
    end

  array_constructor = self.class
    .method(:constructor).to_proc.curry.(constructor, member_constructor)

  self.class.new(array_constructor, primitive: primitive, member: member_constructor)
end