class Dry::Types::Array::Member

def call(input, meth = :call)

Returns:
  • (Array) -

Parameters:
  • meth (Symbol) --
  • input (Object) --
def call(input, meth = :call)
  input.map { |el| member.__send__(meth, el) }
end

def initialize(primitive, options = {})

Options Hash: (**options)
  • :member (Type) --

Parameters:
  • options (Hash) --
  • primitive (Class) --
def initialize(primitive, options = {})
  @member = options.fetch(:member)
  super
end

def to_ast(meta: true)

Other tags:
    See: Definition#to_ast -

Other tags:
    Api: - public
def to_ast(meta: true)
  [:array, [member.to_ast(meta: meta), meta ? self.meta : EMPTY_HASH]]
end

def try(input, &block)

Returns:
  • (Result, Logic::Result) -

Other tags:
    Yieldreturn: -

Other tags:
    Yieldparam: failure -

Parameters:
  • block (#call, nil) --
  • input (Array, Object) --
def try(input, &block)
  if input.is_a?(::Array)
    result = call(input, :try)
    output = result.map(&:input)
    if result.all?(&:success?)
      success(output)
    else
      failure = failure(output, result.select(&:failure?))
      block ? yield(failure) : failure
    end
  else
    failure = failure(input, "#{input} is not an array")
    block ? yield(failure) : failure
  end
end

def valid?(value)

Returns:
  • (Boolean) -

Parameters:
  • value (Array, #all?, Object) --
def valid?(value)
  super && value.all? { |el| member.valid?(el) }
end