29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/use_case/validator.rb', line 29
def self.define(&block)
klass = Class.new do
include ActiveModel::Validations
def initialize(target)
@target = target
end
def method_missing(name, *args, &block)
@target.send(name, *args, &block)
end
def respond_to_missing?(name, include_all)
@target.respond_to?(name)
end
def self.call(object)
validator = new(object)
validator.valid?
validator
end
end
klass.class_eval(&block)
klass
end
|