pigeon_hole 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pigeon_hole.rb +11 -12
  3. data/lib/pigeon_hole/json_date.rb +9 -20
  4. data/lib/pigeon_hole/json_symbol.rb +8 -14
  5. data/lib/pigeon_hole/json_time.rb +9 -16
  6. data/lib/pigeon_hole/typed_json.rb +68 -30
  7. data/spec/integration_spec.rb +22 -6
  8. data/spec/spec_helper.rb +2 -16
  9. metadata +4 -75
  10. data/lib/pigeon_hole/json_date_time.rb +0 -28
  11. data/lib/pigeon_hole/monster-vim-2016-07-25-16-44-46.rb +0 -29
  12. data/lib/pigeon_hole/monster-vim-2016-07-25-16-44-47.rb +0 -29
  13. data/lib/pigeon_hole/monster-vim-2016-07-25-16-44-58.rb +0 -41
  14. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-02.rb +0 -41
  15. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-08.rb +0 -41
  16. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-09.rb +0 -41
  17. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-10.rb +0 -41
  18. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-35.rb +0 -29
  19. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-36.rb +0 -29
  20. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-37.rb +0 -29
  21. data/lib/pigeon_hole/monster-vim-2016-07-25-16-47-38.rb +0 -29
  22. data/lib/pigeon_hole/monster-vim-2016-07-26-10-09-11.rb +0 -41
  23. data/lib/pigeon_hole/monster-vim-2016-07-26-10-09-41.rb +0 -34
  24. data/lib/pigeon_hole/monster-vim-2016-07-26-10-09-42.rb +0 -34
  25. data/lib/pigeon_hole/monster-vim-2016-07-26-10-11-26.rb +0 -35
  26. data/lib/pigeon_hole/monster-vim-2016-07-26-10-15-33.rb +0 -39
  27. data/lib/pigeon_hole/monster-vim-2016-07-26-10-15-46.rb +0 -40
  28. data/lib/pigeon_hole/monster-vim-2016-07-26-10-15-57.rb +0 -37
  29. data/lib/pigeon_hole/monster-vim-2016-07-26-10-16-03.rb +0 -27
  30. data/lib/pigeon_hole/monster-vim-2016-07-26-10-16-04.rb +0 -27
  31. data/lib/pigeon_hole/monster-vim-2016-07-26-10-16-05.rb +0 -27
  32. data/lib/pigeon_hole/monster-vim-2016-07-26-10-17-22.rb +0 -28
  33. data/lib/pigeon_hole/monster-vim-2016-07-26-10-17-23.rb +0 -28
  34. data/lib/pigeon_hole/monster-vim-2016-07-26-10-19-14.rb +0 -28
  35. data/lib/pigeon_hole/monster-vim-2016-07-26-10-20-50.rb +0 -28
  36. data/lib/pigeon_hole/monster-vim-2016-07-26-10-20-52.rb +0 -28
  37. data/lib/pigeon_hole/monster-vim-2016-07-26-10-20-53.rb +0 -28
  38. data/lib/pigeon_hole/monster-vim-2016-07-26-10-26-57.rb +0 -42
  39. data/lib/pigeon_hole/monster-vim-2016-07-26-10-26-58.rb +0 -42
  40. data/lib/pigeon_hole/monster-vim-2016-07-26-10-27-58.rb +0 -42
  41. data/lib/pigeon_hole/monster-vim-2016-07-26-10-27-59.rb +0 -42
  42. data/lib/pigeon_hole/monster-vim-2016-07-26-10-33-40.rb +0 -42
  43. data/lib/pigeon_hole/monster-vim-2016-07-26-10-33-41.rb +0 -42
  44. data/lib/pigeon_hole/monster-vim-2016-07-26-10-33-42.rb +0 -42
  45. data/lib/pigeon_hole/monster-vim-2016-07-26-10-33-53.rb +0 -42
  46. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-07.rb +0 -42
  47. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-08.rb +0 -42
  48. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-09.rb +0 -42
  49. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-20.rb +0 -44
  50. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-21.rb +0 -44
  51. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-22.rb +0 -44
  52. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-23.rb +0 -44
  53. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-24.rb +0 -44
  54. data/lib/pigeon_hole/monster-vim-2016-07-26-10-37-25.rb +0 -44
  55. data/lib/pigeon_hole/monster-vim-2016-07-26-10-38-26.rb +0 -53
  56. data/lib/pigeon_hole/monster-vim-2016-07-26-10-38-27.rb +0 -53
  57. data/lib/pigeon_hole/monster-vim-2016-07-26-10-38-28.rb +0 -53
  58. data/lib/pigeon_hole/monster-vim-2016-07-26-10-38-29.rb +0 -53
  59. data/lib/pigeon_hole/monster-vim-2016-07-26-10-39-14.rb +0 -53
  60. data/spec/monster-vim-2016-07-26-10-29-02.rb +0 -117
  61. data/spec/monster-vim-2016-07-26-10-29-53.rb +0 -118
  62. data/spec/monster-vim-2016-07-26-12-05-32.rb +0 -117
  63. data/spec/monster-vim-2016-07-26-12-05-33.rb +0 -117
  64. data/spec/monster-vim-2016-07-26-12-05-34.rb +0 -117
  65. data/spec/monster-vim-2016-07-26-12-05-35.rb +0 -117
  66. data/spec/monster-vim-2016-07-26-12-06-22.rb +0 -33
  67. data/spec/monster-vim-2016-07-26-12-06-32.rb +0 -33
  68. data/spec/monster-vim-2016-07-26-12-06-33.rb +0 -33
  69. data/spec/monster-vim-2016-07-26-12-06-34.rb +0 -33
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7d0a69693e1ef17c571cae616b9f398a7abe2d57
4
- data.tar.gz: 04c290bc512015a4322189249d7e725f2092ab39
3
+ metadata.gz: 0145686d84201c9a23404e48b87a1999ecce1269
4
+ data.tar.gz: cdadb67c03a83f767ab765e7236359ac396daea8
5
5
  SHA512:
6
- metadata.gz: bdcbfca77cc2becdb833776e0b54da4c9c291571c08abadd65783f99a2da3cc0842f454d858b0c068be7f7f0e92868269e82d90d60a94be51925fdd8cd7e0f4d
7
- data.tar.gz: 208b79c5a0b4b6b7b8cff757e3ebbb68d0a51655dea6f18a0621bd0f65adbb70a1eed216b103c467f23403f12a8423c8d590f3d9f1e71987ef46a6292ddc9d1b
6
+ metadata.gz: a7b86a2edc2a6dd8302533f92e6f02499c644027f8233185ef357a1f255fd97883d6f8a16aa933631dd6a36c05b7ffaec24865d173652cab75756240d98894d5
7
+ data.tar.gz: 7ccca3d7722de161c8dadd6af85d616253e7f67ebfe16ddbdaabd2d7cfa2618436504f72814f18c8e141084a28b2b5d026036f7744c67ee4807a1a949b9ef489
data/lib/pigeon_hole.rb CHANGED
@@ -1,18 +1,17 @@
1
- module PigeonHole
2
- require_relative 'pigeon_hole/typed_json'
3
- require_relative 'pigeon_hole/json_date'
4
- require_relative 'pigeon_hole/json_symbol'
5
- require_relative 'pigeon_hole/json_time'
1
+ require 'json'
6
2
 
7
- def self.generate(obj, *args)
8
- TypedJSON.generate(obj, *args)
9
- end
3
+ require_relative 'pigeon_hole/json_date'
4
+ require_relative 'pigeon_hole/json_symbol'
5
+ require_relative 'pigeon_hole/json_time'
10
6
 
11
- def self.parse(string)
12
- load(string)
7
+ require_relative 'pigeon_hole/typed_json'
8
+
9
+ module PigeonHole
10
+ def self.generate(obj)
11
+ TypedJSON.generate(obj)
13
12
  end
14
13
 
15
- def self.load(string)
16
- JSON.load(string)
14
+ def self.parse(string)
15
+ TypedJSON.parse(string)
17
16
  end
18
17
  end
@@ -1,29 +1,18 @@
1
1
  module PigeonHole
2
- class JSONDate < SimpleDelegator
3
- # Deserializes JSON string by converting Julian year <tt>y</tt>, month
4
- # <tt>m</tt>, day <tt>d</tt> and Day of Calendar Reform <tt>sg</tt> to Date.
5
- def self.json_create(object)
6
- Date.civil(*object.values_at('y', 'm', 'd', 'sg'))
7
- end
8
-
9
- #alias start sg unless method_defined?(:start)
2
+ module JSONDate
3
+ TYPE_VALUE = 'date'.freeze
10
4
 
11
- # Returns a hash, that will be turned into a JSON object and represent this
12
- # object.
13
- def as_json(*)
5
+ def self.serialize(date)
14
6
  {
15
- JSON.create_id => self.class.name,
16
- 'y' => year,
17
- 'm' => month,
18
- 'd' => day,
19
- 'sg' => start,
7
+ TypedJSON::TYPE_KEY => TYPE_VALUE,
8
+ 'y' => date.year,
9
+ 'm' => date.month,
10
+ 'd' => date.day,
20
11
  }
21
12
  end
22
13
 
23
- # Stores class name (Date) with Julian year <tt>y</tt>, month <tt>m</tt>, day
24
- # <tt>d</tt> and Day of Calendar Reform <tt>sg</tt> as JSON string
25
- def to_json(*args)
26
- as_json.to_json(*args)
14
+ def self.deserialize(hash)
15
+ Date.new(hash['y'], hash['m'], hash['d'])
27
16
  end
28
17
  end
29
18
  end
@@ -1,22 +1,16 @@
1
1
  module PigeonHole
2
- class JSONSymbol < SimpleDelegator
3
- # Returns a hash, that will be turned into a JSON object and represent this
4
- # object.
5
- def as_json(*)
2
+ module JSONSymbol
3
+ TYPE_VALUE = 'sym'.freeze
4
+
5
+ def self.serialize(symbol)
6
6
  {
7
- JSON.create_id => self.class.name,
8
- 's' => to_s,
7
+ TypedJSON::TYPE_KEY => TYPE_VALUE,
8
+ 's' => symbol.to_s,
9
9
  }
10
10
  end
11
11
 
12
- # Stores class name (Symbol) with String representation of Symbol as a JSON string.
13
- def to_json(*a)
14
- as_json.to_json(*a)
15
- end
16
-
17
- # Deserializes JSON string by converting the <tt>string</tt> value stored in the object to a Symbol
18
- def self.json_create(o)
19
- o['s'].to_sym
12
+ def self.deserialize(hash)
13
+ hash['s'].to_sym
20
14
  end
21
15
  end
22
16
  end
@@ -1,25 +1,18 @@
1
1
  module PigeonHole
2
- class JSONTime < SimpleDelegator
3
- # Deserializes JSON string by converting time since epoch to Time
4
- def self.json_create(object)
5
- ms_since_epoc = object['ms'].to_i
6
- seconds, fragment = ms_since_epoc.divmod(1000)
7
- Time.at(seconds, fragment * 1000).utc
8
- end
2
+ module JSONTime
3
+ TYPE_VALUE = 'time'.freeze
9
4
 
10
- # Returns a hash, that will be turned into a JSON object and represent this
11
- # object.
12
- def as_json(*)
5
+ def self.serialize(time)
13
6
  {
14
- JSON.create_id => self.class.name,
15
- 'ms' => (tv_sec * 1000) + (usec / 1000),
7
+ TypedJSON::TYPE_KEY => TYPE_VALUE,
8
+ 'ms' => (time.tv_sec * 1000) + (time.usec / 1000),
16
9
  }
17
10
  end
18
11
 
19
- # Stores class name (Time) with number of seconds since epoch and number of
20
- # microseconds for Time as JSON string
21
- def to_json(*args)
22
- as_json.to_json(*args)
12
+ def self.deserialize(hash)
13
+ ms_since_epoc = hash['ms'].to_i
14
+ seconds, fragment = ms_since_epoc.divmod(1000)
15
+ Time.at(seconds, fragment * 1000).utc
23
16
  end
24
17
  end
25
18
  end
@@ -1,51 +1,89 @@
1
- require 'json'
2
-
3
1
  module PigeonHole
4
2
  class TypedJSON
3
+ class UnsupportedType < ArgumentError
4
+ end
5
+
6
+ BASIC_TYPES = [
7
+ NilClass,
8
+ String,
9
+ Integer,
10
+ Fixnum,
11
+ Bignum,
12
+ Float,
13
+ TrueClass,
14
+ FalseClass,
15
+ ].uniq.freeze
16
+
17
+ DESERIALIZERS = {
18
+ JSONDate::TYPE_VALUE => JSONDate,
19
+ JSONTime::TYPE_VALUE => JSONTime,
20
+ JSONSymbol::TYPE_VALUE => JSONSymbol,
21
+ }.freeze
22
+
23
+ SERIALIZERS = {
24
+ Date => JSONDate,
25
+ Time => JSONTime,
26
+ Symbol => JSONSymbol,
27
+ }.freeze
28
+
29
+ TYPE_KEY = '*'.freeze
30
+
5
31
  def self.generate(obj, *args)
6
- hash_dup = each_with_parent(obj)
32
+ hash_dup = serialize_value(obj)
7
33
  JSON.generate(hash_dup, *args)
8
34
  end
9
35
 
10
- def self.map_to_json(obj)
11
- case obj
12
- when Time
13
- JSONTime.new(obj)
14
- when Date
15
- JSONDate.new(obj)
16
- when Symbol
17
- JSONSymbol.new(obj)
18
- else
19
- obj
20
- end
36
+ def self.parse(value)
37
+ hash = JSON.parse(value)
38
+ translate(hash)
21
39
  end
22
40
 
23
- def self.map_array_value(value)
41
+ def self.translate(hash)
42
+ deserialize_value(hash)
43
+ end
44
+
45
+ private
46
+
47
+ def self.deserialize_value(value)
24
48
  case value
25
49
  when Hash
26
- each_with_parent(value)
50
+ if deserializer = DESERIALIZERS[value[TYPE_KEY]]
51
+ deserializer.deserialize(value)
52
+ else
53
+ value.each do |k, v|
54
+ value[k] = deserialize_value(v)
55
+ end
56
+
57
+ value
58
+ end
27
59
  when Array
28
- value.map { |av| map_array_value(av) }
60
+ value.map! { |av| deserialize_value(av) }
29
61
  else
30
- map_to_json(value)
62
+ value
31
63
  end
32
64
  end
33
65
 
34
- def self.each_with_parent(hash, result=nil)
35
- duplicated_hash = {} || result
66
+ def self.serialize_value(value)
67
+ case value
68
+ when *BASIC_TYPES
69
+ value
70
+ when Hash
71
+ hash = {}
36
72
 
37
- hash.each do |k, v|
38
- case v
39
- when Hash
40
- duplicated_hash[k] = each_with_parent(v, duplicated_hash)
41
- when Array
42
- duplicated_hash[k] = v.map { |av| map_array_value(av) }
43
- else
44
- duplicated_hash[k] = map_to_json(v)
73
+ value.each do |k, v|
74
+ hash[k] = serialize_value(v)
75
+ end
76
+
77
+ hash
78
+ when Array
79
+ value.map { |av| serialize_value(av) }
80
+ else
81
+ unless serializer = SERIALIZERS[value.class]
82
+ raise UnsupportedType.new(value.class)
45
83
  end
46
- end
47
84
 
48
- duplicated_hash
85
+ serializer.serialize(value)
86
+ end
49
87
  end
50
88
  end
51
89
  end
@@ -73,16 +73,16 @@ describe "serializing arrays" do
73
73
  end
74
74
 
75
75
  describe "serializing nested hashes" do
76
- let(:expected) do
76
+ let(:input) do
77
77
  {
78
- foo: {
79
- bar: random_time,
80
- baz: :temp
78
+ "foo" => {
79
+ "bar" => random_time,
80
+ "baz" => :temp,
81
81
  }
82
82
  }
83
83
  end
84
84
 
85
- subject { PigeonHole.generate(expected) }
85
+ subject { PigeonHole.generate(input) }
86
86
 
87
87
  it "serializes hash into a string" do
88
88
  result = subject
@@ -93,6 +93,22 @@ describe "serializing nested hashes" do
93
93
  result = subject
94
94
  hash = PigeonHole.parse(result)
95
95
 
96
- expect(symbolize_hash(hash)).to eq(expected)
96
+ expect(hash).to eq(input)
97
+ end
98
+ end
99
+
100
+ describe "serializing custom type" do
101
+ CustomType = Struct.new(:name)
102
+
103
+ let(:input) do
104
+ {
105
+ "custom" => CustomType.new("hello"),
106
+ }
107
+ end
108
+
109
+ subject { PigeonHole.generate(input) }
110
+
111
+ it "raises an unsupported type error" do
112
+ expect { subject }.to raise_error(PigeonHole::TypedJSON::UnsupportedType)
97
113
  end
98
114
  end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,6 @@
1
- require 'rake'
2
- require 'rspec'
1
+ require 'bundler'
3
2
 
4
- require "#{Rake.application.original_dir}/lib/pigeon_hole"
5
-
6
- include PigeonHole
3
+ Bundler.require
7
4
 
8
5
  def random_integer
9
6
  rand(9999)
@@ -20,14 +17,3 @@ end
20
17
  def random_date_time
21
18
  DateTime.now
22
19
  end
23
-
24
- def symbolize_hash(obj)
25
- if obj.is_a?(Hash)
26
- obj.inject({}) do |memo, (k,v)|
27
- memo[k.to_sym] = symbolize_hash(v)
28
- memo
29
- end
30
- else
31
- obj
32
- end
33
- end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pigeon_hole
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Binns
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-26 00:00:00.000000000 Z
11
+ date: 2016-07-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -18,72 +18,12 @@ extra_rdoc_files: []
18
18
  files:
19
19
  - lib/pigeon_hole.rb
20
20
  - lib/pigeon_hole/json_date.rb
21
- - lib/pigeon_hole/json_date_time.rb
22
21
  - lib/pigeon_hole/json_symbol.rb
23
22
  - lib/pigeon_hole/json_time.rb
24
- - lib/pigeon_hole/monster-vim-2016-07-25-16-44-46.rb
25
- - lib/pigeon_hole/monster-vim-2016-07-25-16-44-47.rb
26
- - lib/pigeon_hole/monster-vim-2016-07-25-16-44-58.rb
27
- - lib/pigeon_hole/monster-vim-2016-07-25-16-47-02.rb
28
- - lib/pigeon_hole/monster-vim-2016-07-25-16-47-08.rb
29
- - lib/pigeon_hole/monster-vim-2016-07-25-16-47-09.rb
30
- - lib/pigeon_hole/monster-vim-2016-07-25-16-47-10.rb
31
- - lib/pigeon_hole/monster-vim-2016-07-25-16-47-35.rb
32
- - lib/pigeon_hole/monster-vim-2016-07-25-16-47-36.rb
33
- - lib/pigeon_hole/monster-vim-2016-07-25-16-47-37.rb
34
- - lib/pigeon_hole/monster-vim-2016-07-25-16-47-38.rb
35
- - lib/pigeon_hole/monster-vim-2016-07-26-10-09-11.rb
36
- - lib/pigeon_hole/monster-vim-2016-07-26-10-09-41.rb
37
- - lib/pigeon_hole/monster-vim-2016-07-26-10-09-42.rb
38
- - lib/pigeon_hole/monster-vim-2016-07-26-10-11-26.rb
39
- - lib/pigeon_hole/monster-vim-2016-07-26-10-15-33.rb
40
- - lib/pigeon_hole/monster-vim-2016-07-26-10-15-46.rb
41
- - lib/pigeon_hole/monster-vim-2016-07-26-10-15-57.rb
42
- - lib/pigeon_hole/monster-vim-2016-07-26-10-16-03.rb
43
- - lib/pigeon_hole/monster-vim-2016-07-26-10-16-04.rb
44
- - lib/pigeon_hole/monster-vim-2016-07-26-10-16-05.rb
45
- - lib/pigeon_hole/monster-vim-2016-07-26-10-17-22.rb
46
- - lib/pigeon_hole/monster-vim-2016-07-26-10-17-23.rb
47
- - lib/pigeon_hole/monster-vim-2016-07-26-10-19-14.rb
48
- - lib/pigeon_hole/monster-vim-2016-07-26-10-20-50.rb
49
- - lib/pigeon_hole/monster-vim-2016-07-26-10-20-52.rb
50
- - lib/pigeon_hole/monster-vim-2016-07-26-10-20-53.rb
51
- - lib/pigeon_hole/monster-vim-2016-07-26-10-26-57.rb
52
- - lib/pigeon_hole/monster-vim-2016-07-26-10-26-58.rb
53
- - lib/pigeon_hole/monster-vim-2016-07-26-10-27-58.rb
54
- - lib/pigeon_hole/monster-vim-2016-07-26-10-27-59.rb
55
- - lib/pigeon_hole/monster-vim-2016-07-26-10-33-40.rb
56
- - lib/pigeon_hole/monster-vim-2016-07-26-10-33-41.rb
57
- - lib/pigeon_hole/monster-vim-2016-07-26-10-33-42.rb
58
- - lib/pigeon_hole/monster-vim-2016-07-26-10-33-53.rb
59
- - lib/pigeon_hole/monster-vim-2016-07-26-10-37-07.rb
60
- - lib/pigeon_hole/monster-vim-2016-07-26-10-37-08.rb
61
- - lib/pigeon_hole/monster-vim-2016-07-26-10-37-09.rb
62
- - lib/pigeon_hole/monster-vim-2016-07-26-10-37-20.rb
63
- - lib/pigeon_hole/monster-vim-2016-07-26-10-37-21.rb
64
- - lib/pigeon_hole/monster-vim-2016-07-26-10-37-22.rb
65
- - lib/pigeon_hole/monster-vim-2016-07-26-10-37-23.rb
66
- - lib/pigeon_hole/monster-vim-2016-07-26-10-37-24.rb
67
- - lib/pigeon_hole/monster-vim-2016-07-26-10-37-25.rb
68
- - lib/pigeon_hole/monster-vim-2016-07-26-10-38-26.rb
69
- - lib/pigeon_hole/monster-vim-2016-07-26-10-38-27.rb
70
- - lib/pigeon_hole/monster-vim-2016-07-26-10-38-28.rb
71
- - lib/pigeon_hole/monster-vim-2016-07-26-10-38-29.rb
72
- - lib/pigeon_hole/monster-vim-2016-07-26-10-39-14.rb
73
23
  - lib/pigeon_hole/typed_json.rb
74
24
  - spec/integration_spec.rb
75
- - spec/monster-vim-2016-07-26-10-29-02.rb
76
- - spec/monster-vim-2016-07-26-10-29-53.rb
77
- - spec/monster-vim-2016-07-26-12-05-32.rb
78
- - spec/monster-vim-2016-07-26-12-05-33.rb
79
- - spec/monster-vim-2016-07-26-12-05-34.rb
80
- - spec/monster-vim-2016-07-26-12-05-35.rb
81
- - spec/monster-vim-2016-07-26-12-06-22.rb
82
- - spec/monster-vim-2016-07-26-12-06-32.rb
83
- - spec/monster-vim-2016-07-26-12-06-33.rb
84
- - spec/monster-vim-2016-07-26-12-06-34.rb
85
25
  - spec/spec_helper.rb
86
- homepage: http://www.cronofy.com
26
+ homepage: https://github.com/cronofy/pigeon_hole
87
27
  licenses:
88
28
  - MIT
89
29
  metadata: {}
@@ -103,21 +43,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
43
  version: '0'
104
44
  requirements: []
105
45
  rubyforge_project:
106
- rubygems_version: 2.6.1
46
+ rubygems_version: 2.4.8
107
47
  signing_key:
108
48
  specification_version: 4
109
49
  summary: Opt-in typed serialization for complex JSON types
110
50
  test_files:
111
51
  - spec/integration_spec.rb
112
- - spec/monster-vim-2016-07-26-10-29-02.rb
113
- - spec/monster-vim-2016-07-26-10-29-53.rb
114
- - spec/monster-vim-2016-07-26-12-05-32.rb
115
- - spec/monster-vim-2016-07-26-12-05-33.rb
116
- - spec/monster-vim-2016-07-26-12-05-34.rb
117
- - spec/monster-vim-2016-07-26-12-05-35.rb
118
- - spec/monster-vim-2016-07-26-12-06-22.rb
119
- - spec/monster-vim-2016-07-26-12-06-32.rb
120
- - spec/monster-vim-2016-07-26-12-06-33.rb
121
- - spec/monster-vim-2016-07-26-12-06-34.rb
122
52
  - spec/spec_helper.rb
123
- has_rdoc: