# File datatypes.rb, line 40 def initialize @datatypes = { 'symbol' => { 'valid' => proc {|x| SYMBOL.match(x)}, 'typecast' => proc {|x| x.to_s} }, 'boolean' => { 'valid' => proc {|x| BOOLEAN.match(x)}, 'typecast' => proc {|x| x === BOOLEAN_TRUE} }, 'bool' => { 'valid' => proc {|x| BOOLEAN.match(x)}, 'typecast' => proc {|x| x === BOOLEAN_TRUE} }, 'yesno' => { 'valid' => proc {|x| BOOLEAN.match(x)}, 'typecast' => proc {|x| x === BOOLEAN_TRUE} }, 'string' => { 'valid' => proc {|x| STRING.match(x)}, 'typecast' => proc {|x| x.to_s} }, 'text' => { 'valid' => proc {|x| STRING.match(x)}, 'typecast' => proc {|x| x.to_s} }, 'varchar' => { 'valid' => proc {|x| STRING.match(x)}, 'typecast' => proc {|x| x.to_s} }, 'var' => { 'valid' => proc {|x| STRING.match(x)}, 'typecast' => proc {|x| x.to_s} }, 'char' => { 'valid' => proc {|x| STRING.match(x)}, 'typecast' => proc {|x| x.to_s} }, 'int' => { 'valid' => proc {|x| INTEGER.match(x)}, 'typecast' => proc {|x| x.to_i} }, 'integer' => { 'valid' => proc {|x| INTEGER.match(x)}, 'typecast' => proc {|x| x.to_i} }, 'serial' => { 'valid' => proc {|x| INTEGER.match(x)}, 'typecast' => proc {|x| x.to_i} }, 'unsigned' => { 'valid' => proc {|x| UNSIGNED_INTEGER.match(x)}, 'typecast' => proc {|x| x.to_i} }, 'float' => { 'valid' => proc {|x| FLOAT.match(x)}, 'typecast' => proc {|x| x.to_f} }, 'double' => { 'valid' => proc {|x| FLOAT.match(x)}, 'typecast' => proc {|x| x.to_f} }, 'decimal' => { 'valid' => proc {|x| FLOAT.match(x)}, 'typecast' => proc {|x| x.to_f} }, 'numeric' => { 'valid' => proc {|x| FLOAT.match(x)}, 'typecast' => proc {|x| x.to_f} }, 'time' => { 'valid' => proc {|x| TIME.match(x)}, 'typecast' => proc {|x| x.to_s} }, 'timestamp' => { 'valid' => proc {|x| TIMESTAMP.match(x)}, 'typecast' => proc {|x| x.to_s} }, 'date' => { 'valid' => proc {|x| complex_date_valid?(x)}, 'typecast' => proc {|x| x.to_s} }, 'ssn' => { 'valid' => proc {|x| SSN.match(x)}, 'typecast' => proc {|x| x.to_s} } } end