class Dry::Types::Array::Member
def call(input, meth = :call)
-
(Array)
-
Parameters:
-
meth
(Symbol
) -- -
input
(Object
) --
def call(input, meth = :call) input.map { |el| member.__send__(meth, el) } end
def initialize(primitive, options = {})
(**options)
-
:member
(Type
) --
Parameters:
-
options
(Hash
) -- -
primitive
(Class
) --
def initialize(primitive, options = {}) @member = options.fetch(:member) super end
def to_ast(meta: true)
- 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)
-
(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)
-
(Boolean)
-
Parameters:
-
value
(Array, #all?, Object
) --
def valid?(value) super && value.all? { |el| member.valid?(el) } end