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 43 44 |
# 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) self[k] = if v =~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\+([0-9]{4}|[0-9]{2}:[0-9]{2})/ 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 else v end end end end end |
#recursively_symbolize_keys! ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/pg_json/sequel/pg_json.rb', line 46 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 |