# File tk/lib/tk/validation.rb, line 8
def self.__def_validcmd(scope, klass, keys=nil)
keys = klass._config_keys unless keys
keys.each{|key|
eval("def #{key}(*args, &b)
__validcmd_call(#{klass.name}, '#{key}', *args, &b)
end", scope)
}
end
# File tk/lib/tk/validation.rb, line 46
def __conv_vcmd_on_hash_kv(keys)
key2class = __get_validate_key2class
keys = _symbolkey2str(keys)
key2class.each{|key, klass|
if keys[key].kind_of?(Array)
cmd, *args = keys[key]
#keys[key] = klass.new(cmd, args.join(' '))
keys[key] = klass.new(cmd, *args)
# elsif keys[key].kind_of?(Proc) || keys[key].kind_of?(Method)
elsif TkComm._callback_entry?(keys[key])
keys[key] = klass.new(keys[key])
end
}
keys
end
# File tk/lib/tk/validation.rb, line 36
def __get_validate_key2class
k2c = {}
__validation_class_list.each{|klass|
klass._config_keys.each{|key|
k2c[key.to_s] = klass
}
}
k2c
end
# File tk/lib/tk/validation.rb, line 31
def __validation_class_list
# maybe need to override
[]
end
# File tk/lib/tk/validation.rb, line 17
def __validcmd_call(klass, key, *args, &b)
return cget(key) if args.empty? && !b
cmd = (b)? proc(&b) : args.shift
if cmd.kind_of?(klass)
configure(key, cmd)
elsif !args.empty?
configure(key, [cmd, args])
else
configure(key, cmd)
end
end
Commenting is here to help enhance the documentation. For example, sample code, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.