Sha256: 0a464582ed29fd8672ad48acef6e462ecc3c5acb02af95fae4dd83918831c1e3
Contents?: true
Size: 1.04 KB
Versions: 6
Compression:
Stored size: 1.04 KB
Contents
#!/usr/bin/env ruby module PG module TextDecoder class Date < SimpleDecoder ISO_DATE = /\A(\d{4})-(\d\d)-(\d\d)\z/ def decode(string, tuple=nil, field=nil) if string =~ ISO_DATE Time.new $1.to_i, $2.to_i, $3.to_i else string end end end class TimestampWithoutTimeZone < SimpleDecoder ISO_DATETIME_WITHOUT_TIMEZONE = /\A(\d{4})-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)(\.\d+)?\z/ def decode(string, tuple=nil, field=nil) if string =~ ISO_DATETIME_WITHOUT_TIMEZONE Time.new $1.to_i, $2.to_i, $3.to_i, $4.to_i, $5.to_i, "#{$6}#{$7}".to_r else string end end end class TimestampWithTimeZone < SimpleDecoder ISO_DATETIME_WITH_TIMEZONE = /\A(\d{4})-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)(\.\d+)?([-\+]\d\d):?(\d\d)?:?(\d\d)?\z/ def decode(string, tuple=nil, field=nil) if string =~ ISO_DATETIME_WITH_TIMEZONE Time.new $1.to_i, $2.to_i, $3.to_i, $4.to_i, $5.to_i, "#{$6}#{$7}".to_r, "#{$8}:#{$9 || '00'}:#{$10 || '00'}" else string end end end end end # module PG
Version data entries
6 entries across 6 versions & 2 rubygems