Sha256: 19a8d878c2f1656e9310674f18da8abd04bd2324f973c9d9cbd35bb22fd2f15a
Contents?: true
Size: 969 Bytes
Versions: 20
Compression:
Stored size: 969 Bytes
Contents
module ActiveRecord module ConnectionAdapters module PostgreSQL module OID # :nodoc: class LegacyPoint < Type::Value # :nodoc: include Type::Helpers::Mutable def type :point end def cast(value) case value when ::String if value[0] == "(" && value[-1] == ")" value = value[1...-1] end cast(value.split(",")) when ::Array value.map { |v| Float(v) } else value end end def serialize(value) if value.is_a?(::Array) "(#{number_for_point(value[0])},#{number_for_point(value[1])})" else super end end private def number_for_point(number) number.to_s.gsub(/\.0$/, "") end end end end end end
Version data entries
20 entries across 20 versions & 1 rubygems