Module: Toolchain::Validations::Delegator::ClassMethods

Defined in:
lib/toolchain/validations/delegator.rb

Instance Method Summary collapse

Instance Method Details

#validate_with(&block) ⇒ Object

Examples:

class MyClass
  include Toolchain::Validations::Delegator

  validate_with do |instance|
    if instance.new?
      NewResourceValidator
    else
      ExistingResourceValidator
    end
  end
end

Parameters:

  • block (Proc)


38
39
40
41
42
# File 'lib/toolchain/validations/delegator.rb', line 38

def validate_with(&block)
  define_method(:validator) do
    @validator ||= block.call(self).new(self)
  end
end