36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/eye/dsl/validation.rb', line 36
def param(param, types = [], should_be = false, default = nil, variants = nil)
param = param.to_sym
validates[param] = types
should_bes << param if should_be
param_default(param, default)
self.variants[param] = variants
return if param == :do
define_method param do
value = @options[param]
value.nil? ? self.class.defaults[param] : value
end
define_method "#{param}=" do |value|
@options[param] = value
end
end
|