module FDB::Tuple
def self._code_for(v)
def self._code_for(v) if v.nil? @@NULL_CODE elsif v.kind_of? String if v.encoding == Encoding::BINARY || v.encoding == Encoding::ASCII @@BYTES_CODE elsif v.encoding == Encoding::UTF_8 @@STRING_CODE else raise ArgumentError, "unsupported encoding #{v.encoding.name}" end elsif v.kind_of? Integer @@INT_ZERO_CODE elsif v.kind_of? TrueClass @@TRUE_CODE elsif v.kind_of? FalseClass @@FALSE_CODE elsif v.kind_of? SingleFloat @@FLOAT_CODE elsif v.kind_of? Float @@DOUBLE_CODE elsif v.kind_of? UUID @@UUID_CODE elsif v.kind_of? Array @@NESTED_CODE else raise ArgumentError, "unsupported type #{v.class}" end end