pigeon_hole 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pigeon_hole/json_date_time.rb +4 -17
  3. data/lib/pigeon_hole/monster-vim-2016-07-25-16-44-46.rb +29 -0
  4. data/lib/pigeon_hole/monster-vim-2016-07-25-16-44-47.rb +29 -0
  5. data/lib/pigeon_hole/monster-vim-2016-07-25-16-44-58.rb +41 -0
  6. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-02.rb +41 -0
  7. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-08.rb +41 -0
  8. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-09.rb +41 -0
  9. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-10.rb +41 -0
  10. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-35.rb +29 -0
  11. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-36.rb +29 -0
  12. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-37.rb +29 -0
  13. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-38.rb +29 -0
  14. data/lib/pigeon_hole/monster-vim-2016-07-26-10-09-11.rb +41 -0
  15. data/lib/pigeon_hole/monster-vim-2016-07-26-10-09-41.rb +34 -0
  16. data/lib/pigeon_hole/monster-vim-2016-07-26-10-09-42.rb +34 -0
  17. data/lib/pigeon_hole/monster-vim-2016-07-26-10-11-26.rb +35 -0
  18. data/lib/pigeon_hole/monster-vim-2016-07-26-10-15-33.rb +39 -0
  19. data/lib/pigeon_hole/monster-vim-2016-07-26-10-15-46.rb +40 -0
  20. data/lib/pigeon_hole/monster-vim-2016-07-26-10-15-57.rb +37 -0
  21. data/lib/pigeon_hole/monster-vim-2016-07-26-10-16-03.rb +27 -0
  22. data/lib/pigeon_hole/monster-vim-2016-07-26-10-16-04.rb +27 -0
  23. data/lib/pigeon_hole/monster-vim-2016-07-26-10-16-05.rb +27 -0
  24. data/lib/pigeon_hole/monster-vim-2016-07-26-10-17-22.rb +28 -0
  25. data/lib/pigeon_hole/monster-vim-2016-07-26-10-17-23.rb +28 -0
  26. data/lib/pigeon_hole/monster-vim-2016-07-26-10-19-14.rb +28 -0
  27. data/lib/pigeon_hole/monster-vim-2016-07-26-10-20-50.rb +28 -0
  28. data/lib/pigeon_hole/monster-vim-2016-07-26-10-20-52.rb +28 -0
  29. data/lib/pigeon_hole/monster-vim-2016-07-26-10-20-53.rb +28 -0
  30. data/lib/pigeon_hole/monster-vim-2016-07-26-10-26-57.rb +42 -0
  31. data/lib/pigeon_hole/monster-vim-2016-07-26-10-26-58.rb +42 -0
  32. data/lib/pigeon_hole/monster-vim-2016-07-26-10-27-58.rb +42 -0
  33. data/lib/pigeon_hole/monster-vim-2016-07-26-10-27-59.rb +42 -0
  34. data/lib/pigeon_hole/monster-vim-2016-07-26-10-33-40.rb +42 -0
  35. data/lib/pigeon_hole/monster-vim-2016-07-26-10-33-41.rb +42 -0
  36. data/lib/pigeon_hole/monster-vim-2016-07-26-10-33-42.rb +42 -0
  37. data/lib/pigeon_hole/monster-vim-2016-07-26-10-33-53.rb +42 -0
  38. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-07.rb +42 -0
  39. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-08.rb +42 -0
  40. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-09.rb +42 -0
  41. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-20.rb +44 -0
  42. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-21.rb +44 -0
  43. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-22.rb +44 -0
  44. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-23.rb +44 -0
  45. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-24.rb +44 -0
  46. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-25.rb +44 -0
  47. data/lib/pigeon_hole/monster-vim-2016-07-26-10-38-26.rb +53 -0
  48. data/lib/pigeon_hole/monster-vim-2016-07-26-10-38-27.rb +53 -0
  49. data/lib/pigeon_hole/monster-vim-2016-07-26-10-38-28.rb +53 -0
  50. data/lib/pigeon_hole/monster-vim-2016-07-26-10-38-29.rb +53 -0
  51. data/lib/pigeon_hole/monster-vim-2016-07-26-10-39-14.rb +53 -0
  52. data/lib/pigeon_hole/typed_json.rb +13 -0
  53. data/spec/integration_spec.rb +18 -0
  54. data/spec/monster-vim-2016-07-26-10-29-02.rb +117 -0
  55. data/spec/monster-vim-2016-07-26-10-29-53.rb +118 -0
  56. metadata +55 -2
@@ -0,0 +1,42 @@
1
+ require 'json'
2
+
3
+ module PigeonHole
4
+ class TypedJSON
5
+ def self.generate(obj, *args)
6
+ hash_dup = each_with_parent(obj)
7
+ JSON.generate(hash_dup, *args)
8
+ end
9
+
10
+ def self.map_to_json(obj)
11
+ case obj
12
+ when Time
13
+ JSONTime.new(obj)
14
+ when DateTime
15
+ JSONDateTime.new(obj)
16
+ when Date
17
+ JSONDate.new(obj)
18
+ when Symbol
19
+ JSONSymbol.new(obj)
20
+ else
21
+ obj
22
+ end
23
+ end
24
+
25
+ def self.each_with_parent(hash, result=nil)
26
+ duplicated_hash = {} || result
27
+
28
+ hash.each do |k, v|
29
+ case v
30
+ when Hash
31
+ duplicated_hash[k] = each_with_parent(v, duplicated_hash)
32
+ when Array
33
+ duplicated_hash[k] = v.map { |av| map_to_json(av) map_to_json(av) }.to_
34
+ else
35
+ duplicated_hash[k] = map_to_json(v)
36
+ end
37
+ end
38
+
39
+ duplicated_hash
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ require 'json'
2
+
3
+ module PigeonHole
4
+ class TypedJSON
5
+ def self.generate(obj, *args)
6
+ hash_dup = each_with_parent(obj)
7
+ JSON.generate(hash_dup, *args)
8
+ end
9
+
10
+ def self.map_to_json(obj)
11
+ case obj
12
+ when Time
13
+ JSONTime.new(obj)
14
+ when DateTime
15
+ JSONDateTime.new(obj)
16
+ when Date
17
+ JSONDate.new(obj)
18
+ when Symbol
19
+ JSONSymbol.new(obj)
20
+ else
21
+ obj
22
+ end
23
+ end
24
+
25
+ def self.each_with_parent(hash, result=nil)
26
+ duplicated_hash = {} || result
27
+
28
+ hash.each do |k, v|
29
+ case v
30
+ when Hash
31
+ duplicated_hash[k] = each_with_parent(v, duplicated_hash)
32
+ when Array
33
+ duplicated_hash[k] = v.map { |av| map_to_json(av) map_to_json(av) }.to_a
34
+ else
35
+ duplicated_hash[k] = map_to_json(v)
36
+ end
37
+ end
38
+
39
+ duplicated_hash
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,44 @@
1
+ require 'json'
2
+
3
+ module PigeonHole
4
+ class TypedJSON
5
+ def self.generate(obj, *args)
6
+ hash_dup = each_with_parent(obj)
7
+ JSON.generate(hash_dup, *args)
8
+ end
9
+
10
+ def self.map_to_json(obj)
11
+ case obj
12
+ when Time
13
+ JSONTime.new(obj)
14
+ when DateTime
15
+ JSONDateTime.new(obj)
16
+ when Date
17
+ JSONDate.new(obj)
18
+ when Symbol
19
+ JSONSymbol.new(obj)
20
+ else
21
+ obj
22
+ end
23
+ end
24
+
25
+ def self.
26
+
27
+ def self.each_with_parent(hash, result=nil)
28
+ duplicated_hash = {} || result
29
+
30
+ hash.each do |k, v|
31
+ case v
32
+ when Hash
33
+ duplicated_hash[k] = each_with_parent(v, duplicated_hash)
34
+ when Array
35
+ duplicated_hash[k] = v.map { |av| map_to_json(av) map_to_json(av) }.to_a
36
+ else
37
+ duplicated_hash[k] = map_to_json(v)
38
+ end
39
+ end
40
+
41
+ duplicated_hash
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ require 'json'
2
+
3
+ module PigeonHole
4
+ class TypedJSON
5
+ def self.generate(obj, *args)
6
+ hash_dup = each_with_parent(obj)
7
+ JSON.generate(hash_dup, *args)
8
+ end
9
+
10
+ def self.map_to_json(obj)
11
+ case obj
12
+ when Time
13
+ JSONTime.new(obj)
14
+ when DateTime
15
+ JSONDateTime.new(obj)
16
+ when Date
17
+ JSONDate.new(obj)
18
+ when Symbol
19
+ JSONSymbol.new(obj)
20
+ else
21
+ obj
22
+ end
23
+ end
24
+
25
+ def self.map_a
26
+
27
+ def self.each_with_parent(hash, result=nil)
28
+ duplicated_hash = {} || result
29
+
30
+ hash.each do |k, v|
31
+ case v
32
+ when Hash
33
+ duplicated_hash[k] = each_with_parent(v, duplicated_hash)
34
+ when Array
35
+ duplicated_hash[k] = v.map { |av| map_to_json(av) map_to_json(av) }.to_a
36
+ else
37
+ duplicated_hash[k] = map_to_json(v)
38
+ end
39
+ end
40
+
41
+ duplicated_hash
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ require 'json'
2
+
3
+ module PigeonHole
4
+ class TypedJSON
5
+ def self.generate(obj, *args)
6
+ hash_dup = each_with_parent(obj)
7
+ JSON.generate(hash_dup, *args)
8
+ end
9
+
10
+ def self.map_to_json(obj)
11
+ case obj
12
+ when Time
13
+ JSONTime.new(obj)
14
+ when DateTime
15
+ JSONDateTime.new(obj)
16
+ when Date
17
+ JSONDate.new(obj)
18
+ when Symbol
19
+ JSONSymbol.new(obj)
20
+ else
21
+ obj
22
+ end
23
+ end
24
+
25
+ def self.map_ar
26
+
27
+ def self.each_with_parent(hash, result=nil)
28
+ duplicated_hash = {} || result
29
+
30
+ hash.each do |k, v|
31
+ case v
32
+ when Hash
33
+ duplicated_hash[k] = each_with_parent(v, duplicated_hash)
34
+ when Array
35
+ duplicated_hash[k] = v.map { |av| map_to_json(av) map_to_json(av) }.to_a
36
+ else
37
+ duplicated_hash[k] = map_to_json(v)
38
+ end
39
+ end
40
+
41
+ duplicated_hash
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ require 'json'
2
+
3
+ module PigeonHole
4
+ class TypedJSON
5
+ def self.generate(obj, *args)
6
+ hash_dup = each_with_parent(obj)
7
+ JSON.generate(hash_dup, *args)
8
+ end
9
+
10
+ def self.map_to_json(obj)
11
+ case obj
12
+ when Time
13
+ JSONTime.new(obj)
14
+ when DateTime
15
+ JSONDateTime.new(obj)
16
+ when Date
17
+ JSONDate.new(obj)
18
+ when Symbol
19
+ JSONSymbol.new(obj)
20
+ else
21
+ obj
22
+ end
23
+ end
24
+
25
+ def self.map_array
26
+
27
+ def self.each_with_parent(hash, result=nil)
28
+ duplicated_hash = {} || result
29
+
30
+ hash.each do |k, v|
31
+ case v
32
+ when Hash
33
+ duplicated_hash[k] = each_with_parent(v, duplicated_hash)
34
+ when Array
35
+ duplicated_hash[k] = v.map { |av| map_to_json(av) map_to_json(av) }.to_a
36
+ else
37
+ duplicated_hash[k] = map_to_json(v)
38
+ end
39
+ end
40
+
41
+ duplicated_hash
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ require 'json'
2
+
3
+ module PigeonHole
4
+ class TypedJSON
5
+ def self.generate(obj, *args)
6
+ hash_dup = each_with_parent(obj)
7
+ JSON.generate(hash_dup, *args)
8
+ end
9
+
10
+ def self.map_to_json(obj)
11
+ case obj
12
+ when Time
13
+ JSONTime.new(obj)
14
+ when DateTime
15
+ JSONDateTime.new(obj)
16
+ when Date
17
+ JSONDate.new(obj)
18
+ when Symbol
19
+ JSONSymbol.new(obj)
20
+ else
21
+ obj
22
+ end
23
+ end
24
+
25
+ def self.map_array_
26
+
27
+ def self.each_with_parent(hash, result=nil)
28
+ duplicated_hash = {} || result
29
+
30
+ hash.each do |k, v|
31
+ case v
32
+ when Hash
33
+ duplicated_hash[k] = each_with_parent(v, duplicated_hash)
34
+ when Array
35
+ duplicated_hash[k] = v.map { |av| map_to_json(av) map_to_json(av) }.to_a
36
+ else
37
+ duplicated_hash[k] = map_to_json(v)
38
+ end
39
+ end
40
+
41
+ duplicated_hash
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ require 'json'
2
+
3
+ module PigeonHole
4
+ class TypedJSON
5
+ def self.generate(obj, *args)
6
+ hash_dup = each_with_parent(obj)
7
+ JSON.generate(hash_dup, *args)
8
+ end
9
+
10
+ def self.map_to_json(obj)
11
+ case obj
12
+ when Time
13
+ JSONTime.new(obj)
14
+ when DateTime
15
+ JSONDateTime.new(obj)
16
+ when Date
17
+ JSONDate.new(obj)
18
+ when Symbol
19
+ JSONSymbol.new(obj)
20
+ else
21
+ obj
22
+ end
23
+ end
24
+
25
+ def self.map_array_value
26
+
27
+ def self.each_with_parent(hash, result=nil)
28
+ duplicated_hash = {} || result
29
+
30
+ hash.each do |k, v|
31
+ case v
32
+ when Hash
33
+ duplicated_hash[k] = each_with_parent(v, duplicated_hash)
34
+ when Array
35
+ duplicated_hash[k] = v.map { |av| map_to_json(av) map_to_json(av) }.to_a
36
+ else
37
+ duplicated_hash[k] = map_to_json(v)
38
+ end
39
+ end
40
+
41
+ duplicated_hash
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,53 @@
1
+ require 'json'
2
+
3
+ module PigeonHole
4
+ class TypedJSON
5
+ def self.generate(obj, *args)
6
+ hash_dup = each_with_parent(obj)
7
+ JSON.generate(hash_dup, *args)
8
+ end
9
+
10
+ def self.map_to_json(obj)
11
+ case obj
12
+ when Time
13
+ JSONTime.new(obj)
14
+ when DateTime
15
+ JSONDateTime.new(obj)
16
+ when Date
17
+ JSONDate.new(obj)
18
+ when Symbol
19
+ JSONSymbol.new(obj)
20
+ else
21
+ obj
22
+ end
23
+ end
24
+
25
+ def self.map_array_value(value)
26
+ case value
27
+ when Hash
28
+ each_with_parent(value)
29
+ when Array
30
+ value.emap_array_value
31
+ else
32
+ map_to_json(value)
33
+ end
34
+ end
35
+
36
+ def self.each_with_parent(hash, result=nil)
37
+ duplicated_hash = {} || result
38
+
39
+ hash.each do |k, v|
40
+ case v
41
+ when Hash
42
+ duplicated_hash[k] = each_with_parent(v, duplicated_hash)
43
+ when Array
44
+ duplicated_hash[k] = v.map { |av| map_to_json(av) map_to_json(av) }.to_a
45
+ else
46
+ duplicated_hash[k] = map_to_json(v)
47
+ end
48
+ end
49
+
50
+ duplicated_hash
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,53 @@
1
+ require 'json'
2
+
3
+ module PigeonHole
4
+ class TypedJSON
5
+ def self.generate(obj, *args)
6
+ hash_dup = each_with_parent(obj)
7
+ JSON.generate(hash_dup, *args)
8
+ end
9
+
10
+ def self.map_to_json(obj)
11
+ case obj
12
+ when Time
13
+ JSONTime.new(obj)
14
+ when DateTime
15
+ JSONDateTime.new(obj)
16
+ when Date
17
+ JSONDate.new(obj)
18
+ when Symbol
19
+ JSONSymbol.new(obj)
20
+ else
21
+ obj
22
+ end
23
+ end
24
+
25
+ def self.map_array_value(value)
26
+ case value
27
+ when Hash
28
+ each_with_parent(value)
29
+ when Array
30
+ value.eamap_array_value
31
+ else
32
+ map_to_json(value)
33
+ end
34
+ end
35
+
36
+ def self.each_with_parent(hash, result=nil)
37
+ duplicated_hash = {} || result
38
+
39
+ hash.each do |k, v|
40
+ case v
41
+ when Hash
42
+ duplicated_hash[k] = each_with_parent(v, duplicated_hash)
43
+ when Array
44
+ duplicated_hash[k] = v.map { |av| map_to_json(av) map_to_json(av) }.to_a
45
+ else
46
+ duplicated_hash[k] = map_to_json(v)
47
+ end
48
+ end
49
+
50
+ duplicated_hash
51
+ end
52
+ end
53
+ end