Class: PG::TextDecoder::TimestampWithTimeZone

Inherits:
SimpleDecoder show all
Defined in:
lib/pg/text_decoder.rb

Constant Summary collapse

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/

Instance Attribute Summary

Attributes inherited from Coder

#name

Instance Method Summary collapse

Methods inherited from Coder

#==, #dup, #encode, #format, #format=, #initialize, #inspect, #marshal_dump, #marshal_load, #oid, #oid=, #to_h

Constructor Details

This class inherits a constructor from PG::Coder

Instance Method Details

#decode(string, tuple = nil, field = nil) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/pg/text_decoder.rb', line 34

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