module Toolchain::Validations::Delegator::ClassMethods

Public Instance Methods

validate_with(&block) click to toggle source

@param block [Proc]

@example

class MyClass
  include Toolchain::Validations::Delegator

  validate_with do |instance|
    if instance.new?
      NewResourceValidator
    else
      ExistingResourceValidator
    end
  end
end
# File lib/toolchain/validations/delegator.rb, line 38
def validate_with(&block)
  define_method(:validator) do
    @validator ||= block.call(self).new(self)
  end
end