class Dry::Validation::Macros::Container

Registry for macros

@api public

Public Instance Methods

register(name, *args, &block) click to toggle source

Register a new macro

@example in a contract class

class MyContract < Dry::Validation::Contract
  register_macro(:even_numbers) do
    key.failure('all numbers must be even') unless values[key_name].all?(&:even?)
  end
end

@param [Symbol] name The name of the macro

@return [self]

@api public

Calls superclass method
# File lib/dry/validation/macros.rb, line 61
def register(name, *args, &block)
  macro = Macro.new(name, args: args, block: block)
  super(name, macro, call: false, &nil)
  self
end