TypeConverters¶
Constants¶
Methods¶
def included(_) return if @converters @converters = {} Neo4j::Shared::TypeConverters.constants.each do |constant_name| constant = Neo4j::Shared::TypeConverters.const_get(constant_name) register_converter(constant) if constant.respond_to?(:convert_type) end end
def register_converter(converter) converters[converter.convert_type] = converter end
def to_other(direction, value, type) fail "Unknown direction given: #{direction}" unless direction == :to_ruby || direction == :to_db found_converter = converters[type] return value unless found_converter return value if direction == :to_db && formatted_for_db?(found_converter, value) found_converter.send(direction, value) end
def typecaster_for(primitive_type) return nil if primitive_type.nil? converters.key?(primitive_type) ? converters[primitive_type] : nil end