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 CHANGED
@@ -1,4 +1,5 @@
1
1
  [![Build Status](https://secure.travis-ci.org/joakimk/minimapper.png)](http://travis-ci.org/joakimk/minimapper)
2
+ [![Code Climate](https://codeclimate.com/badge.png)](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 (**it's runnable, try copy and pasting it into a ruby file** or [use this gist](https://gist.github.com/3904952)):
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
- # minimapper_test.rb
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
- puts user.name # => Joe
79
- puts user_mapper.first.name # => Joe
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
- puts user_mapper.first.name # => Joey
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
- puts user.id # => nil
90
- puts user_mapper.find_by_id(old_id) # => nil
91
- # user_mapper.find(old_id) # raises Minimapper::Common::CanNotFindEntity
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
- puts repository.users.find(user.id).name # => Joe
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
- puts repository.users.count # => 0
111
- puts user.errors.full_messages # Name can't be blank
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
- puts project.name
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
@@ -2,6 +2,8 @@ require "minimapper/common"
2
2
 
3
3
  module Minimapper
4
4
  class AR
5
+ include Common
6
+
5
7
  # Create
6
8
  def create(entity)
7
9
  if entity.valid?
@@ -1,5 +1,7 @@
1
1
  module Minimapper
2
2
  module Common
3
3
  CanNotFindEntity = Class.new(StandardError)
4
+
5
+ attr_accessor :repository
4
6
  end
5
7
  end
@@ -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)
@@ -2,6 +2,8 @@ require 'minimapper/common'
2
2
 
3
3
  module Minimapper
4
4
  class Memory
5
+ include Common
6
+
5
7
  def initialize
6
8
  @store = []
7
9
  @last_id = 0
@@ -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)
@@ -1,3 +1,3 @@
1
1
  module Minimapper
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
data/spec/ar_spec.rb CHANGED
@@ -24,7 +24,7 @@ class TestMapper < Minimapper::AR
24
24
  end
25
25
 
26
26
  describe Minimapper::AR do
27
- let(:repository) { TestMapper.new }
27
+ let(:mapper) { TestMapper.new }
28
28
  let(:entity_class) { TestEntity }
29
29
 
30
30
  include_examples :mapper
@@ -1,29 +1,34 @@
1
1
  shared_examples :mapper do
2
- # expects repository and entity_class to be defined
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
- repository.create(entity1)
13
+ mapper.create(entity1)
9
14
  entity1.id.should > 0
10
15
 
11
16
  entity2 = build_valid_entity
12
- repository.create(entity2)
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 = repository.create(build_valid_entity)
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
- repository.create(entity)
25
- repository.last.object_id.should_not == entity.object_id
26
- repository.last.attributes[:name].should == "test"
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
- repository.create(entity).should be_false
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
- repository.create(entity)
42
- found_entity = repository.find(entity.id)
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
- repository.create(entity)
51
- repository.find(entity.id.to_s)
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
- repository.create(entity)
57
- repository.find(entity.id).object_id.should_not == entity.object_id
58
- repository.find(entity.id).object_id.should_not == repository.find(entity.id).object_id
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 { repository.find(-1) }.should raise_error(Minimapper::Common::CanNotFindEntity)
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
- repository.create(entity)
70
- found_entity = repository.find_by_id(entity.id)
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
- repository.create(entity)
79
- repository.find_by_id(entity.id.to_s)
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
- repository.create(entity)
85
- repository.find_by_id(entity.id).object_id.should_not == entity.object_id
86
- repository.find_by_id(entity.id).object_id.should_not == repository.find_by_id(entity.id).object_id
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
- repository.find_by_id(-1).should be_nil
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
- repository.create(first_created_entity)
99
- repository.create(second_created_entity)
100
- all_entities = repository.all
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
- repository.create(entity)
109
- repository.all.first.object_id.should_not == entity.object_id
110
- repository.all.first.object_id.should_not == repository.all.first.object_id
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
- repository.create(first_created_entity)
118
- repository.create(build_valid_entity)
119
- repository.first.id.should == first_created_entity.id
120
- repository.first.should be_kind_of(entity_class)
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
- repository.create(entity)
126
- repository.first.object_id.should_not == entity.object_id
127
- repository.first.object_id.should_not == repository.first.object_id
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
- repository.first.should be_nil
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
- repository.create(build_valid_entity)
139
- repository.create(last_created_entity)
140
- repository.last.id.should == last_created_entity.id
141
- repository.last.should be_kind_of(entity_class)
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
- repository.create(entity)
147
- repository.last.object_id.should_not == entity.object_id
148
- repository.last.object_id.should_not == repository.last.object_id
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
- repository.last.should be_nil
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
- repository.create(build_valid_entity)
159
- repository.create(build_valid_entity)
160
- repository.count.should == 2
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
- repository.create(entity)
172
+ mapper.create(entity)
168
173
 
169
174
  entity.attributes = { :name => "Updated" }
170
- repository.last.attributes[:name].should == "test"
175
+ mapper.last.attributes[:name].should == "test"
171
176
 
172
- repository.update(entity)
173
- repository.last.id.should == entity.id
174
- repository.last.attributes[:name].should == "Updated"
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
- repository.create(entity)
184
+ mapper.create(entity)
180
185
 
181
186
  def entity.valid?
182
187
  false
183
188
  end
184
189
 
185
- repository.update(entity).should be_false
186
- repository.last.attributes[:name].should == "test"
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
- repository.create(entity)
192
- repository.update(entity).should == true
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 { repository.update(entity) }.should raise_error(Minimapper::Common::CanNotFindEntity)
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
- repository.create(entity)
203
- repository.delete_all
204
- lambda { repository.update(entity) }.should raise_error(Minimapper::Common::CanNotFindEntity)
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
- repository.create(entity)
213
- repository.create(build_valid_entity)
214
- repository.delete(entity)
215
- repository.all.size.should == 1
216
- repository.first.id.should_not == removed_entity_id
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
- repository.create(entity)
226
+ mapper.create(entity)
222
227
  entity.id.should_not be_nil
223
- repository.delete(entity)
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 { repository.delete(entity) }.should raise_error(Minimapper::Common::CanNotFindEntity)
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 { repository.delete(entity) }.should raise_error(Minimapper::Common::CanNotFindEntity)
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
- repository.create(entity)
243
- repository.create(build_valid_entity)
244
- repository.delete_by_id(entity.id)
245
- repository.all.size.should == 1
246
- repository.first.id.should_not == entity.id
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 { repository.delete_by_id(-1) }.should raise_error(Minimapper::Common::CanNotFindEntity)
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 repository" do
256
- repository.create(build_valid_entity)
257
- repository.delete_all
258
- repository.all.should == []
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
@@ -6,7 +6,7 @@ class BasicEntity
6
6
  end
7
7
 
8
8
  describe Minimapper::Memory do
9
- let(:repository) { described_class.new }
9
+ let(:mapper) { described_class.new }
10
10
  let(:entity_class) { BasicEntity }
11
11
 
12
12
  include_examples :mapper
@@ -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
- repository1 = described_class.build(:projects => :foo)
23
- repository2 = described_class.build(:projects => :bar)
24
- repository1.projects.should == :foo
25
- repository2.projects.should == :bar
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.0
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-18 00:00:00.000000000 Z
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: &70328752668500 !ruby/object:Gem::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: *70328752668500
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: -4540271108059572460
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: -4540271108059572460
89
+ hash: 899466324574471464
90
90
  requirements: []
91
91
  rubyforge_project:
92
92
  rubygems_version: 1.8.5