class Dry::Schema::Macros::Each

Macro used to specify predicates for each element of an array

@api private

Public Instance Methods

ast(*)
Alias for: to_ast
to_ast(*) click to toggle source

@api private

# File lib/dry/schema/macros/each.rb, line 25
def to_ast(*)
  [:each, trace.to_ast]
end
Also aliased as: ast
value(*args, **opts) click to toggle source

@api private

Calls superclass method Dry::Schema::Macros::DSL#value
# File lib/dry/schema/macros/each.rb, line 14
def value(*args, **opts)
  extract_type_spec(*args, set_type: false) do |*predicates, type_spec:, type_rule:|
    if type_spec && !type_spec.is_a?(Dry::Types::Type)
      type(schema_dsl.array[type_spec])
    end

    super(*predicates, type_spec: type_spec, type_rule: type_rule, **opts)
  end
end