minimapper 0.2.0 → 0.2.1
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.
- data/README.md +18 -12
- data/lib/minimapper/ar.rb +2 -0
- data/lib/minimapper/common.rb +2 -0
- data/lib/minimapper/entity/convert.rb +3 -3
- data/lib/minimapper/memory.rb +2 -0
- data/lib/minimapper/repository.rb +7 -0
- data/lib/minimapper/version.rb +1 -1
- data/spec/ar_spec.rb +1 -1
- data/spec/support/shared_examples/mapper.rb +87 -82
- data/unit/entity_spec.rb +6 -0
- data/unit/memory_spec.rb +1 -1
- data/unit/repository_spec.rb +14 -6
- metadata +6 -6
data/README.md
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
[](http://travis-ci.org/joakimk/minimapper)
|
2
|
+
[](https://codeclimate.com/github/joakimk/minimapper)
|
2
3
|
|
3
4
|
# Minimapper
|
4
5
|
|
@@ -49,10 +50,10 @@ Please avoid installing directly from the github repository. Code will be pushed
|
|
49
50
|
|
50
51
|
### Basics
|
51
52
|
|
52
|
-
You can use the mappers like this (
|
53
|
+
You can use the mappers like this (<strong>it's runnable, try copy and pasting it into a ruby file</strong> or [use this gist](https://gist.github.com/3904952)):
|
53
54
|
|
54
55
|
``` ruby
|
55
|
-
#
|
56
|
+
# minimapper_example.rb
|
56
57
|
require "rubygems"
|
57
58
|
require "minimapper"
|
58
59
|
require "minimapper/entity"
|
@@ -75,20 +76,20 @@ user_mapper.create(user)
|
|
75
76
|
|
76
77
|
## Finding
|
77
78
|
user = user_mapper.find(user.id)
|
78
|
-
|
79
|
-
|
79
|
+
p user.name # => Joe
|
80
|
+
p user_mapper.first.name # => Joe
|
80
81
|
|
81
82
|
## Updating
|
82
83
|
user.name = "Joey"
|
83
84
|
user_mapper.update(user)
|
84
|
-
|
85
|
+
p user_mapper.first.name # => Joey
|
85
86
|
|
86
87
|
## Deleting
|
87
88
|
old_id = user.id
|
88
89
|
user_mapper.delete(user)
|
89
|
-
|
90
|
-
|
91
|
-
# user_mapper.find(old_id)
|
90
|
+
p user.id # => nil
|
91
|
+
p user_mapper.find_by_id(old_id) # => nil
|
92
|
+
# user_mapper.find(old_id) # raises Minimapper::Common::CanNotFindEntity
|
92
93
|
# user_mapper.delete_all
|
93
94
|
# user_mapper.delete_by_id(1)
|
94
95
|
|
@@ -102,13 +103,14 @@ repository = Minimapper::Repository.build({
|
|
102
103
|
|
103
104
|
user = User.new(:name => "Joe")
|
104
105
|
repository.users.create(user)
|
105
|
-
|
106
|
+
p repository.users.find(user.id).name # => Joe
|
107
|
+
repository.users.delete_all
|
106
108
|
|
107
109
|
## Using ActiveModel validations
|
108
110
|
user = User.new
|
109
111
|
repository.users.create(user)
|
110
|
-
|
111
|
-
|
112
|
+
p repository.users.count # => 0
|
113
|
+
p user.errors.full_messages # Name can't be blank
|
112
114
|
```
|
113
115
|
|
114
116
|
### ActiveRecord
|
@@ -165,7 +167,7 @@ And then use it like this:
|
|
165
167
|
``` ruby
|
166
168
|
# repository = Minimapper::Repository.build(...)
|
167
169
|
repository.projects.waiting_for_review.each do |project|
|
168
|
-
|
170
|
+
p project.name
|
169
171
|
end
|
170
172
|
```
|
171
173
|
|
@@ -210,6 +212,10 @@ User.new(:reminder_on => "2012-01-01").reminder # => #<Date: 2012-01-01 ...>
|
|
210
212
|
|
211
213
|
Minimapper only calls #convert on non-empty strings. When the value is blank or nil, the attribute is set to nil.
|
212
214
|
|
215
|
+
### Associations
|
216
|
+
|
217
|
+
There is no built in support for associations yet, but you can handle them manually (see https://github.com/joakimk/minimapper/issues/3).
|
218
|
+
|
213
219
|
### Custom entity class
|
214
220
|
|
215
221
|
[Minimapper::Entity](https://github.com/joakimk/minimapper/blob/master/lib/minimapper/entity.rb) adds some convenience methods for when a model is used within a rails application. If you don't need that you can just include the core API from the [Minimapper::Entity::Core](https://github.com/joakimk/minimapper/blob/master/lib/minimapper/entity/core.rb) module (or implement your own version that behaves like [Minimapper::Entity::Core](https://github.com/joakimk/minimapper/blob/master/lib/minimapper/entity/core.rb)).
|
data/lib/minimapper/ar.rb
CHANGED
data/lib/minimapper/common.rb
CHANGED
@@ -13,6 +13,9 @@ module Minimapper
|
|
13
13
|
@@converters[type] = converter
|
14
14
|
end
|
15
15
|
|
16
|
+
register_converter :integer, ToInteger.new
|
17
|
+
register_converter :date_time, ToDateTime.new
|
18
|
+
|
16
19
|
def to(type)
|
17
20
|
return nil if value.blank?
|
18
21
|
return value unless value.is_a?(String)
|
@@ -20,9 +23,6 @@ module Minimapper
|
|
20
23
|
converter_for(type).convert(value)
|
21
24
|
end
|
22
25
|
|
23
|
-
register_converter :integer, ToInteger.new
|
24
|
-
register_converter :date_time, ToDateTime.new
|
25
|
-
|
26
26
|
private
|
27
27
|
|
28
28
|
def converter_for(type)
|
data/lib/minimapper/memory.rb
CHANGED
@@ -6,6 +6,7 @@ module Minimapper
|
|
6
6
|
|
7
7
|
def initialize(mappers)
|
8
8
|
@mappers = mappers
|
9
|
+
assign_repository_instance
|
9
10
|
define_mapper_methods
|
10
11
|
end
|
11
12
|
|
@@ -15,6 +16,12 @@ module Minimapper
|
|
15
16
|
|
16
17
|
private
|
17
18
|
|
19
|
+
def assign_repository_instance
|
20
|
+
mappers.each do |name, instance|
|
21
|
+
instance.repository = self
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
18
25
|
def define_mapper_methods
|
19
26
|
mappers.each do |name, instance|
|
20
27
|
singleton = (class << self; self end)
|
data/lib/minimapper/version.rb
CHANGED
data/spec/ar_spec.rb
CHANGED
@@ -1,29 +1,34 @@
|
|
1
1
|
shared_examples :mapper do
|
2
|
-
# expects
|
2
|
+
# expects mapper and entity_class to be defined
|
3
|
+
|
4
|
+
it "can set and get repository" do
|
5
|
+
mapper.repository = :repository_instance
|
6
|
+
mapper.repository.should == :repository_instance
|
7
|
+
end
|
3
8
|
|
4
9
|
describe "#create" do
|
5
10
|
it "sets an id on the entity" do
|
6
11
|
entity1 = build_valid_entity
|
7
12
|
entity1.id.should be_nil
|
8
|
-
|
13
|
+
mapper.create(entity1)
|
9
14
|
entity1.id.should > 0
|
10
15
|
|
11
16
|
entity2 = build_valid_entity
|
12
|
-
|
17
|
+
mapper.create(entity2)
|
13
18
|
entity2.id.should == entity1.id + 1
|
14
19
|
end
|
15
20
|
|
16
21
|
it "returns the id" do
|
17
|
-
id =
|
22
|
+
id = mapper.create(build_valid_entity)
|
18
23
|
id.should be_kind_of(Fixnum)
|
19
24
|
id.should > 0
|
20
25
|
end
|
21
26
|
|
22
27
|
it "does not store by reference" do
|
23
28
|
entity = build_valid_entity
|
24
|
-
|
25
|
-
|
26
|
-
|
29
|
+
mapper.create(entity)
|
30
|
+
mapper.last.object_id.should_not == entity.object_id
|
31
|
+
mapper.last.attributes[:name].should == "test"
|
27
32
|
end
|
28
33
|
|
29
34
|
it "validates the record before saving" do
|
@@ -31,15 +36,15 @@ shared_examples :mapper do
|
|
31
36
|
def entity.valid?
|
32
37
|
false
|
33
38
|
end
|
34
|
-
|
39
|
+
mapper.create(entity).should be_false
|
35
40
|
end
|
36
41
|
end
|
37
42
|
|
38
43
|
describe "#find" do
|
39
44
|
it "returns an entity matching the id" do
|
40
45
|
entity = build_valid_entity
|
41
|
-
|
42
|
-
found_entity =
|
46
|
+
mapper.create(entity)
|
47
|
+
found_entity = mapper.find(entity.id)
|
43
48
|
found_entity.attributes[:name].should == "test"
|
44
49
|
found_entity.id.should == entity.id
|
45
50
|
found_entity.should be_kind_of(Minimapper::Entity::Core)
|
@@ -47,27 +52,27 @@ shared_examples :mapper do
|
|
47
52
|
|
48
53
|
it "supports string ids" do
|
49
54
|
entity = build_valid_entity
|
50
|
-
|
51
|
-
|
55
|
+
mapper.create(entity)
|
56
|
+
mapper.find(entity.id.to_s)
|
52
57
|
end
|
53
58
|
|
54
59
|
it "does not return the same instance" do
|
55
60
|
entity = build_valid_entity
|
56
|
-
|
57
|
-
|
58
|
-
|
61
|
+
mapper.create(entity)
|
62
|
+
mapper.find(entity.id).object_id.should_not == entity.object_id
|
63
|
+
mapper.find(entity.id).object_id.should_not == mapper.find(entity.id).object_id
|
59
64
|
end
|
60
65
|
|
61
66
|
it "fails when an entity can not be found" do
|
62
|
-
lambda {
|
67
|
+
lambda { mapper.find(-1) }.should raise_error(Minimapper::Common::CanNotFindEntity)
|
63
68
|
end
|
64
69
|
end
|
65
70
|
|
66
71
|
describe "#find_by_id" do
|
67
72
|
it "returns an entity matching the id" do
|
68
73
|
entity = build_valid_entity
|
69
|
-
|
70
|
-
found_entity =
|
74
|
+
mapper.create(entity)
|
75
|
+
found_entity = mapper.find_by_id(entity.id)
|
71
76
|
found_entity.attributes[:name].should == "test"
|
72
77
|
found_entity.id.should == entity.id
|
73
78
|
found_entity.should be_kind_of(Minimapper::Entity::Core)
|
@@ -75,19 +80,19 @@ shared_examples :mapper do
|
|
75
80
|
|
76
81
|
it "supports string ids" do
|
77
82
|
entity = build_valid_entity
|
78
|
-
|
79
|
-
|
83
|
+
mapper.create(entity)
|
84
|
+
mapper.find_by_id(entity.id.to_s)
|
80
85
|
end
|
81
86
|
|
82
87
|
it "does not return the same instance" do
|
83
88
|
entity = build_valid_entity
|
84
|
-
|
85
|
-
|
86
|
-
|
89
|
+
mapper.create(entity)
|
90
|
+
mapper.find_by_id(entity.id).object_id.should_not == entity.object_id
|
91
|
+
mapper.find_by_id(entity.id).object_id.should_not == mapper.find_by_id(entity.id).object_id
|
87
92
|
end
|
88
93
|
|
89
94
|
it "returns nil when an entity can not be found" do
|
90
|
-
|
95
|
+
mapper.find_by_id(-1).should be_nil
|
91
96
|
end
|
92
97
|
end
|
93
98
|
|
@@ -95,9 +100,9 @@ shared_examples :mapper do
|
|
95
100
|
it "returns all entities in undefined order" do
|
96
101
|
first_created_entity = build_valid_entity
|
97
102
|
second_created_entity = build_valid_entity
|
98
|
-
|
99
|
-
|
100
|
-
all_entities =
|
103
|
+
mapper.create(first_created_entity)
|
104
|
+
mapper.create(second_created_entity)
|
105
|
+
all_entities = mapper.all
|
101
106
|
all_entities.map(&:id).should include(first_created_entity.id)
|
102
107
|
all_entities.map(&:id).should include(second_created_entity.id)
|
103
108
|
all_entities.first.should be_kind_of(Minimapper::Entity::Core)
|
@@ -105,103 +110,103 @@ shared_examples :mapper do
|
|
105
110
|
|
106
111
|
it "does not return the same instances" do
|
107
112
|
entity = build_valid_entity
|
108
|
-
|
109
|
-
|
110
|
-
|
113
|
+
mapper.create(entity)
|
114
|
+
mapper.all.first.object_id.should_not == entity.object_id
|
115
|
+
mapper.all.first.object_id.should_not == mapper.all.first.object_id
|
111
116
|
end
|
112
117
|
end
|
113
118
|
|
114
119
|
describe "#first" do
|
115
120
|
it "returns the first entity" do
|
116
121
|
first_created_entity = build_valid_entity
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
122
|
+
mapper.create(first_created_entity)
|
123
|
+
mapper.create(build_valid_entity)
|
124
|
+
mapper.first.id.should == first_created_entity.id
|
125
|
+
mapper.first.should be_kind_of(entity_class)
|
121
126
|
end
|
122
127
|
|
123
128
|
it "does not return the same instance" do
|
124
129
|
entity = build_valid_entity
|
125
|
-
|
126
|
-
|
127
|
-
|
130
|
+
mapper.create(entity)
|
131
|
+
mapper.first.object_id.should_not == entity.object_id
|
132
|
+
mapper.first.object_id.should_not == mapper.first.object_id
|
128
133
|
end
|
129
134
|
|
130
135
|
it "returns nil when there is no entity" do
|
131
|
-
|
136
|
+
mapper.first.should be_nil
|
132
137
|
end
|
133
138
|
end
|
134
139
|
|
135
140
|
describe "#last" do
|
136
141
|
it "returns the last entity" do
|
137
142
|
last_created_entity = build_valid_entity
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
143
|
+
mapper.create(build_valid_entity)
|
144
|
+
mapper.create(last_created_entity)
|
145
|
+
mapper.last.id.should == last_created_entity.id
|
146
|
+
mapper.last.should be_kind_of(entity_class)
|
142
147
|
end
|
143
148
|
|
144
149
|
it "does not return the same instance" do
|
145
150
|
entity = build_valid_entity
|
146
|
-
|
147
|
-
|
148
|
-
|
151
|
+
mapper.create(entity)
|
152
|
+
mapper.last.object_id.should_not == entity.object_id
|
153
|
+
mapper.last.object_id.should_not == mapper.last.object_id
|
149
154
|
end
|
150
155
|
|
151
156
|
it "returns nil when there is no entity" do
|
152
|
-
|
157
|
+
mapper.last.should be_nil
|
153
158
|
end
|
154
159
|
end
|
155
160
|
|
156
161
|
describe "#count" do
|
157
162
|
it "returns the number of entities" do
|
158
|
-
|
159
|
-
|
160
|
-
|
163
|
+
mapper.create(build_valid_entity)
|
164
|
+
mapper.create(build_valid_entity)
|
165
|
+
mapper.count.should == 2
|
161
166
|
end
|
162
167
|
end
|
163
168
|
|
164
169
|
describe "#update" do
|
165
170
|
it "updates" do
|
166
171
|
entity = build_valid_entity
|
167
|
-
|
172
|
+
mapper.create(entity)
|
168
173
|
|
169
174
|
entity.attributes = { :name => "Updated" }
|
170
|
-
|
175
|
+
mapper.last.attributes[:name].should == "test"
|
171
176
|
|
172
|
-
|
173
|
-
|
174
|
-
|
177
|
+
mapper.update(entity)
|
178
|
+
mapper.last.id.should == entity.id
|
179
|
+
mapper.last.attributes[:name].should == "Updated"
|
175
180
|
end
|
176
181
|
|
177
182
|
it "does not update and returns false when the entity isn't valid" do
|
178
183
|
entity = build_valid_entity
|
179
|
-
|
184
|
+
mapper.create(entity)
|
180
185
|
|
181
186
|
def entity.valid?
|
182
187
|
false
|
183
188
|
end
|
184
189
|
|
185
|
-
|
186
|
-
|
190
|
+
mapper.update(entity).should be_false
|
191
|
+
mapper.last.attributes[:name].should == "test"
|
187
192
|
end
|
188
193
|
|
189
194
|
it "returns true" do
|
190
195
|
entity = build_valid_entity
|
191
|
-
|
192
|
-
|
196
|
+
mapper.create(entity)
|
197
|
+
mapper.update(entity).should == true
|
193
198
|
end
|
194
199
|
|
195
200
|
it "fails when the entity does not have an id" do
|
196
201
|
entity = build_valid_entity
|
197
|
-
lambda {
|
202
|
+
lambda { mapper.update(entity) }.should raise_error(Minimapper::Common::CanNotFindEntity)
|
198
203
|
end
|
199
204
|
|
200
205
|
it "fails when the entity no longer exists" do
|
201
206
|
entity = build_valid_entity
|
202
|
-
|
203
|
-
|
204
|
-
lambda {
|
207
|
+
mapper.create(entity)
|
208
|
+
mapper.delete_all
|
209
|
+
lambda { mapper.update(entity) }.should raise_error(Minimapper::Common::CanNotFindEntity)
|
205
210
|
end
|
206
211
|
end
|
207
212
|
|
@@ -209,53 +214,53 @@ shared_examples :mapper do
|
|
209
214
|
it "removes the entity" do
|
210
215
|
entity = build_valid_entity
|
211
216
|
removed_entity_id = entity.id
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
+
mapper.create(entity)
|
218
|
+
mapper.create(build_valid_entity)
|
219
|
+
mapper.delete(entity)
|
220
|
+
mapper.all.size.should == 1
|
221
|
+
mapper.first.id.should_not == removed_entity_id
|
217
222
|
end
|
218
223
|
|
219
224
|
it "clears the entity id" do
|
220
225
|
entity = build_valid_entity
|
221
|
-
|
226
|
+
mapper.create(entity)
|
222
227
|
entity.id.should_not be_nil
|
223
|
-
|
228
|
+
mapper.delete(entity)
|
224
229
|
entity.id.should be_nil
|
225
230
|
end
|
226
231
|
|
227
232
|
it "fails when the entity does not have an id" do
|
228
233
|
entity = entity_class.new
|
229
|
-
lambda {
|
234
|
+
lambda { mapper.delete(entity) }.should raise_error(Minimapper::Common::CanNotFindEntity)
|
230
235
|
end
|
231
236
|
|
232
237
|
it "fails when the entity can not be found" do
|
233
238
|
entity = entity_class.new
|
234
239
|
entity.id = -1
|
235
|
-
lambda {
|
240
|
+
lambda { mapper.delete(entity) }.should raise_error(Minimapper::Common::CanNotFindEntity)
|
236
241
|
end
|
237
242
|
end
|
238
243
|
|
239
244
|
describe "#delete_by_id" do
|
240
245
|
it "removes the entity" do
|
241
246
|
entity = build_valid_entity
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
+
mapper.create(entity)
|
248
|
+
mapper.create(build_valid_entity)
|
249
|
+
mapper.delete_by_id(entity.id)
|
250
|
+
mapper.all.size.should == 1
|
251
|
+
mapper.first.id.should_not == entity.id
|
247
252
|
end
|
248
253
|
|
249
254
|
it "fails when an entity can not be found" do
|
250
|
-
lambda {
|
255
|
+
lambda { mapper.delete_by_id(-1) }.should raise_error(Minimapper::Common::CanNotFindEntity)
|
251
256
|
end
|
252
257
|
end
|
253
258
|
|
254
259
|
describe "#delete_all" do
|
255
|
-
it "empties the
|
256
|
-
|
257
|
-
|
258
|
-
|
260
|
+
it "empties the mapper" do
|
261
|
+
mapper.create(build_valid_entity)
|
262
|
+
mapper.delete_all
|
263
|
+
mapper.all.should == []
|
259
264
|
end
|
260
265
|
end
|
261
266
|
|
data/unit/entity_spec.rb
CHANGED
@@ -45,6 +45,12 @@ describe Minimapper::Entity do
|
|
45
45
|
entity.id.should == 15
|
46
46
|
end
|
47
47
|
|
48
|
+
it "sets blank values to nil" do
|
49
|
+
user = TestUser.new
|
50
|
+
user.name = " "
|
51
|
+
user.name.should be_nil
|
52
|
+
end
|
53
|
+
|
48
54
|
it "symbolizes keys" do
|
49
55
|
entity = TestEntity.new
|
50
56
|
entity.attributes = { "id" => "15" }
|
data/unit/memory_spec.rb
CHANGED
data/unit/repository_spec.rb
CHANGED
@@ -18,18 +18,26 @@ describe Minimapper::Repository, "self.build" do
|
|
18
18
|
repository.projects.object_id.should == repository.projects.object_id
|
19
19
|
end
|
20
20
|
|
21
|
+
it "adds a reference to the repository" do
|
22
|
+
mapper = Test::ProjectMapper.new
|
23
|
+
repository = described_class.build(:projects => mapper)
|
24
|
+
mapper.repository.should == repository
|
25
|
+
end
|
26
|
+
|
21
27
|
it "does not leak between instances" do
|
22
|
-
|
23
|
-
|
24
|
-
repository1.projects
|
25
|
-
repository2.projects
|
28
|
+
mapper1 = mock.as_null_object
|
29
|
+
mapper2 = mock.as_null_object
|
30
|
+
repository1 = described_class.build(:projects => mapper1)
|
31
|
+
repository2 = described_class.build(:projects => mapper2)
|
32
|
+
repository1.projects.should == mapper1
|
33
|
+
repository2.projects.should == mapper2
|
26
34
|
end
|
27
35
|
end
|
28
36
|
|
29
37
|
describe Minimapper::Repository, "#delete_all!" do
|
30
38
|
it "removes all records by calling delete_all on all mappers" do
|
31
|
-
project_mapper = mock
|
32
|
-
user_mapper = mock
|
39
|
+
project_mapper = mock.as_null_object
|
40
|
+
user_mapper = mock.as_null_object
|
33
41
|
|
34
42
|
project_mapper.should_receive(:delete_all)
|
35
43
|
user_mapper.should_receive(:delete_all)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minimapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &70175304808520 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70175304808520
|
25
25
|
description: A minimalistic way of separating your models from ORMs like ActiveRecord.
|
26
26
|
email:
|
27
27
|
- joakim.kolsjo@gmail.com
|
@@ -77,7 +77,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
77
77
|
version: '0'
|
78
78
|
segments:
|
79
79
|
- 0
|
80
|
-
hash:
|
80
|
+
hash: 899466324574471464
|
81
81
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
82
82
|
none: false
|
83
83
|
requirements:
|
@@ -86,7 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
86
86
|
version: '0'
|
87
87
|
segments:
|
88
88
|
- 0
|
89
|
-
hash:
|
89
|
+
hash: 899466324574471464
|
90
90
|
requirements: []
|
91
91
|
rubyforge_project:
|
92
92
|
rubygems_version: 1.8.5
|