Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/pg_json/sequel/pg_json.rb
Overview
JSON_TYPES = {} unless defined? JSON_TYPES JSON_TYPES = lambda do |v|
v.nil? ? nil : v.to_date
end JSON_TYPES = lambda do |v|
v.nil? ? nil : v.to_time
end # JSON_TYPES = lambda do |v| # v.nil? ? nil : v.to_datetime # end JSON_TYPES = lambda do |v|
# format '2012-04-21T00:00:00+0200'
v.nil? ? nil : DateTime.parse(v).to_time
end
Instance Method Summary collapse
Instance Method Details
#json_typify! ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/pg_json/sequel/pg_json.rb', line 24 def json_typify! self.each do |k, v| if v.is_a? Hash v.json_typify! elsif v.is_a? Array v.json_typify! else if !v.nil? && v.is_a?(String) if v =~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\+[0-9]{4}$/ DateTime.parse(v).to_time elsif v =~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/ v.to_date elsif v =~ /^[0-9]{2}:[0-9]{2}:[0-9]{2}$/ v.to_time end end end end end |
#recursively_symbolize_keys! ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/pg_json/sequel/pg_json.rb', line 44 def recursively_symbolize_keys! self.symbolize_keys! self.values.each do |v| if v.is_a? Hash v.recursively_symbolize_keys! elsif v.is_a? Array v.recursively_symbolize_keys! end end self end |