pg_json 0.1.26 → 0.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/pg_json/sequel/pg_json.rb +11 -29
  2. metadata +1 -1
@@ -1,4 +1,9 @@
1
1
  require "date"
2
+
3
+ # puts "2012-04-21" =~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/
4
+ # puts "00:00:00" =~ /^[0-9]{2}:[0-9]{2}:[0-9]{2}$/
5
+ # puts "2012-04-21T00:00:00+0200" =~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\+[0-9]{4}$/
6
+
2
7
  #
3
8
  # JSON_TYPES = {} unless defined? JSON_TYPES
4
9
  # JSON_TYPES[:date] = lambda do |v|
@@ -24,40 +29,17 @@ class Hash
24
29
  v.json_typify!
25
30
  else
26
31
  if !v.nil? && v.is_a?(String)
27
- if m = (v =~ /^date:/)
28
- self[k] = v[5..-1]
29
- elsif m = (v =~ /^timestamp:/)
30
- self[k] = v[10..-1]
31
- elsif m = (v =~ /^time:/)
32
- self[k] = v[5..-1]
32
+ if v =~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\+[0-9]{4}$/
33
+ DateTime.parse(v).to_time
34
+ elsif v =~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/
35
+ v.to_date
36
+ elsif v =~ /^[0-9]{2}:[0-9]{2}:[0-9]{2}$/
37
+ v.to_time
33
38
  end
34
39
  end
35
40
  end
36
41
  end
37
42
  end
38
- # def json_typify!
39
- # replacements = []
40
- # self.each do |k, v|
41
- # if v.is_a? Hash
42
- # if v[:__type__]
43
- # if v[:value]
44
- # # puts "::: #{v.inspect}"
45
- # replacements << [k, JSON_TYPES[v[:__type__].to_sym].call(v[:value])]
46
- # else
47
- # replacements << [k, nil]
48
- # end
49
- # else
50
- # v.json_typify!
51
- # end
52
- # elsif v.is_a? Array
53
- # v.json_typify!
54
- # end
55
- # end
56
- # replacements.each do |r|
57
- # k, v = r
58
- # self[k] = v
59
- # end
60
- # end
61
43
 
62
44
  def recursively_symbolize_keys!
63
45
  self.symbolize_keys!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_json
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.26
4
+ version: 0.1.27
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: