pigeon_hole 0.0.1 → 0.0.2

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 (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