Sha256: 7052e5823682bd57c27e18fe8a76ae8d672a87a2f38c2cdee3e64e1bf3e9b203
Contents?: true
Size: 1.18 KB
Versions: 20
Compression:
Stored size: 1.18 KB
Contents
module ActiveRecord module ConnectionAdapters module PostgreSQL module OID # :nodoc: class Bit < Type::Value # :nodoc: def type :bit end def cast_value(value) if ::String === value case value when /^0x/i value[2..-1].hex.to_s(2) # Hexadecimal notation else value # Bit-string notation end else value.to_s end end def serialize(value) Data.new(super) if value end class Data def initialize(value) @value = value end def to_s value end def binary? /\A[01]*\Z/.match?(value) end def hex? /\A[0-9A-F]*\Z/i.match?(value) end # TODO Change this to private once we've dropped Ruby 2.2 support. # Workaround for Ruby 2.2 "private attribute?" warning. protected attr_reader :value end end end end end end
Version data entries
20 entries across 20 versions & 1 rubygems