perpetuity 0.6.1 → 0.6.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.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## Version 0.6.2
2
+
3
+ - Make sure `Retrieval#first` limits the query to a single item
4
+ - Add `Mapper#sample`/`Retrieval#sample`
5
+ - Add `Retrieval#drop` to allow skipping a specific number of objects
6
+
1
7
  ## Version 0.6.1
2
8
 
3
9
  - Fix reference equality bug
@@ -183,6 +183,10 @@ module Perpetuity
183
183
  raise ArgumentError.new('Attempted to decrement a non-numeric value')
184
184
  end
185
185
 
186
+ def sample
187
+ all.sample
188
+ end
189
+
186
190
  def persisted? object
187
191
  object.instance_variable_defined?(:@id)
188
192
  end
@@ -79,7 +79,7 @@ module Perpetuity
79
79
  # MongoDB uses '_id' as its ID field.
80
80
  criteria = to_bson_id(criteria)
81
81
 
82
- skipped = options[:page] ? (options[:page] - 1) * options[:limit] : 0
82
+ skipped = options.fetch(:skip) { 0 }
83
83
 
84
84
  query = collection(klass.to_s)
85
85
  .find(criteria)
@@ -3,7 +3,7 @@ require 'perpetuity/reference'
3
3
  module Perpetuity
4
4
  class Retrieval
5
5
  include Enumerable
6
- attr_accessor :sort_attribute, :sort_direction, :result_limit, :result_page, :quantity_per_page
6
+ attr_accessor :sort_attribute, :sort_direction, :result_limit, :result_page, :result_offset
7
7
 
8
8
  def initialize mapper, criteria
9
9
  @mapper = mapper
@@ -29,14 +29,16 @@ module Perpetuity
29
29
 
30
30
  def page page
31
31
  retrieval = clone
32
+ retrieval.result_limit ||= 20
32
33
  retrieval.result_page = page
33
- retrieval.quantity_per_page = 20
34
+ retrieval.result_offset = (page - 1) * retrieval.result_limit
34
35
  retrieval
35
36
  end
36
37
 
37
38
  def per_page per
38
39
  retrieval = clone
39
- retrieval.quantity_per_page = per
40
+ retrieval.result_limit = per
41
+ retrieval.result_offset = (retrieval.result_page - 1) * per
40
42
  retrieval
41
43
  end
42
44
 
@@ -52,12 +54,22 @@ module Perpetuity
52
54
  @data_source.count(@class, @criteria)
53
55
  end
54
56
 
57
+ def first
58
+ limit(1).to_a.first
59
+ end
60
+
61
+ def sample
62
+ sample_size = [count, result_limit].compact.max
63
+ result = drop(rand(sample_size)).first
64
+ result
65
+ end
66
+
55
67
  def options
56
68
  {
57
69
  attribute: sort_attribute,
58
70
  direction: sort_direction,
59
- limit: result_limit || quantity_per_page,
60
- page: result_page
71
+ limit: result_limit,
72
+ skip: result_offset
61
73
  }
62
74
  end
63
75
 
@@ -75,5 +87,12 @@ module Perpetuity
75
87
 
76
88
  retrieval
77
89
  end
90
+
91
+ def drop count
92
+ retrieval = clone
93
+ retrieval.result_offset = count
94
+
95
+ retrieval
96
+ end
78
97
  end
79
98
  end
@@ -1,3 +1,3 @@
1
1
  module Perpetuity
2
- VERSION = "0.6.1"
2
+ VERSION = "0.6.2"
3
3
  end
@@ -184,4 +184,23 @@ describe "retrieval" do
184
184
  ids = users.map { |retrieved_user| mapper.id_for(retrieved_user) }
185
185
  ids.should include mapper.id_for(user)
186
186
  end
187
+
188
+ it 'skips a specified number of objects' do
189
+ author = SecureRandom.hex
190
+ articles = 3.times.map { Article.new(SecureRandom.hex, nil, author) }.sort_by(&:title)
191
+ articles.each { |article| mapper.insert article }
192
+
193
+ ret = mapper.select { |article| article.author == author }.drop(2).sort(:title).first
194
+ ret.should == articles.last
195
+ end
196
+
197
+ describe 'selecting random objects' do
198
+ it 'selects a random object' do
199
+ mapper.delete_all
200
+ articles = 3.times.map { Article.new(SecureRandom.hex) }
201
+ articles.each { |article| mapper.insert article }
202
+
203
+ articles.should include mapper.sample
204
+ end
205
+ end
187
206
  end
@@ -60,7 +60,7 @@ module Perpetuity
60
60
  end
61
61
 
62
62
  describe 'finding a single object' do
63
- let(:options) { {:attribute=>nil, :direction=>nil, :limit=>nil, :page=>nil} }
63
+ let(:options) { {:attribute=>nil, :direction=>nil, :limit=>1, :skip=>nil} }
64
64
  let(:returned_object) { double('Retrieved Object', class: Object) }
65
65
 
66
66
  it 'finds an object by ID' do
@@ -73,6 +73,7 @@ module Perpetuity
73
73
 
74
74
  it 'finds multiple objects with a block' do
75
75
  criteria = { name: 'foo' }
76
+ options = self.options.merge(limit: nil)
76
77
  data_source.should_receive(:retrieve)
77
78
  .with(Object, criteria, options) { [returned_object] }.twice
78
79
 
@@ -35,15 +35,15 @@ module Perpetuity
35
35
  describe 'pagination' do
36
36
  let(:paginated) { retrieval.page(2) }
37
37
  it 'paginates data' do
38
- paginated.result_page.should == 2
38
+ paginated.result_offset.should == 20
39
39
  end
40
40
 
41
41
  it 'defaults to 20 items per page' do
42
- paginated.quantity_per_page.should == 20
42
+ paginated.result_limit.should == 20
43
43
  end
44
44
 
45
45
  it 'sets the number of items per page' do
46
- paginated.per_page(50).quantity_per_page.should == 50
46
+ paginated.per_page(50).result_limit.should == 50
47
47
  end
48
48
  end
49
49
 
@@ -51,7 +51,7 @@ module Perpetuity
51
51
  return_data = { id: 0, a: 1, b: 2 }
52
52
  return_object = Object.new
53
53
  return_object.stub(id: return_data[:id])
54
- options = { attribute: nil, direction: nil, limit: nil, page: nil }
54
+ options = { attribute: nil, direction: nil, limit: nil, skip: nil }
55
55
 
56
56
  data_source.should_receive(:retrieve).with(Object, {}, options).
57
57
  and_return([return_data])
metadata CHANGED
@@ -1,64 +1,64 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: perpetuity
3
3
  version: !ruby/object:Gem::Version
4
+ version: 0.6.2
4
5
  prerelease:
5
- version: 0.6.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jamie Gaskins
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-06 00:00:00.000000000 Z
12
+ date: 2013-06-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- version_requirements: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ! '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- none: false
21
15
  name: rake
22
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
23
18
  requirements:
24
19
  - - ! '>='
25
20
  - !ruby/object:Gem::Version
26
21
  version: '0'
27
- none: false
28
22
  type: :development
29
23
  prerelease: false
30
- - !ruby/object:Gem::Dependency
31
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
32
26
  requirements:
33
- - - ~>
27
+ - - ! '>='
34
28
  - !ruby/object:Gem::Version
35
- version: 2.8.0
36
- none: false
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
37
31
  name: rspec
38
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
39
34
  requirements:
40
35
  - - ~>
41
36
  - !ruby/object:Gem::Version
42
37
  version: 2.8.0
43
- none: false
44
38
  type: :development
45
39
  prerelease: false
46
- - !ruby/object:Gem::Dependency
47
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
48
42
  requirements:
49
- - - ! '>='
43
+ - - ~>
50
44
  - !ruby/object:Gem::Version
51
- version: '0'
52
- none: false
45
+ version: 2.8.0
46
+ - !ruby/object:Gem::Dependency
53
47
  name: moped
54
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
55
50
  requirements:
56
51
  - - ! '>='
57
52
  - !ruby/object:Gem::Version
58
53
  version: '0'
59
- none: false
60
54
  type: :runtime
61
55
  prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
62
  description: Persistence layer for Ruby objects
63
63
  email:
64
64
  - jgaskins@gmail.com
@@ -66,164 +66,83 @@ executables: []
66
66
  extensions: []
67
67
  extra_rdoc_files: []
68
68
  files:
69
- - !binary |-
70
- LmdpdGlnbm9yZQ==
71
- - !binary |-
72
- LnJ2bXJj
73
- - !binary |-
74
- LnRyYXZpcy55bWw=
75
- - !binary |-
76
- Q0hBTkdFTE9HLm1k
77
- - !binary |-
78
- R2VtZmlsZQ==
79
- - !binary |-
80
- TElDRU5TRQ==
81
- - !binary |-
82
- UkVBRE1FLm1k
83
- - !binary |-
84
- UmFrZWZpbGU=
85
- - !binary |-
86
- bGliL3BlcnBldHVpdHkucmI=
87
- - !binary |-
88
- bGliL3BlcnBldHVpdHkvYXR0cmlidXRlLnJi
89
- - !binary |-
90
- bGliL3BlcnBldHVpdHkvYXR0cmlidXRlX3NldC5yYg==
91
- - !binary |-
92
- bGliL3BlcnBldHVpdHkvY29uZmlnLnJi
93
- - !binary |-
94
- bGliL3BlcnBldHVpdHkvZGF0YV9pbmplY3RhYmxlLnJi
95
- - !binary |-
96
- bGliL3BlcnBldHVpdHkvZGVyZWZlcmVuY2VyLnJi
97
- - !binary |-
98
- bGliL3BlcnBldHVpdHkvZXhjZXB0aW9ucy9kdXBsaWNhdGVfa2V5X2Vycm9y
99
- LnJi
100
- - !binary |-
101
- bGliL3BlcnBldHVpdHkvaWRlbnRpdHlfbWFwLnJi
102
- - !binary |-
103
- bGliL3BlcnBldHVpdHkvbWFwcGVyLnJi
104
- - !binary |-
105
- bGliL3BlcnBldHVpdHkvbWFwcGVyX3JlZ2lzdHJ5LnJi
106
- - !binary |-
107
- bGliL3BlcnBldHVpdHkvbW9uZ29kYi5yYg==
108
- - !binary |-
109
- bGliL3BlcnBldHVpdHkvbW9uZ29kYi9pbmRleC5yYg==
110
- - !binary |-
111
- bGliL3BlcnBldHVpdHkvbW9uZ29kYi9xdWVyeS5yYg==
112
- - !binary |-
113
- bGliL3BlcnBldHVpdHkvbW9uZ29kYi9xdWVyeV9hdHRyaWJ1dGUucmI=
114
- - !binary |-
115
- bGliL3BlcnBldHVpdHkvbW9uZ29kYi9xdWVyeV9leHByZXNzaW9uLnJi
116
- - !binary |-
117
- bGliL3BlcnBldHVpdHkvbW9uZ29kYi9xdWVyeV9pbnRlcnNlY3Rpb24ucmI=
118
- - !binary |-
119
- bGliL3BlcnBldHVpdHkvbW9uZ29kYi9xdWVyeV91bmlvbi5yYg==
120
- - !binary |-
121
- bGliL3BlcnBldHVpdHkvbW9uZ29kYi9zZXJpYWxpemVyLnJi
122
- - !binary |-
123
- bGliL3BlcnBldHVpdHkvcmVmZXJlbmNlLnJi
124
- - !binary |-
125
- bGliL3BlcnBldHVpdHkvcmV0cmlldmFsLnJi
126
- - !binary |-
127
- bGliL3BlcnBldHVpdHkvdmFsaWRhdGlvbnMucmI=
128
- - !binary |-
129
- bGliL3BlcnBldHVpdHkvdmFsaWRhdGlvbnMvbGVuZ3RoLnJi
130
- - !binary |-
131
- bGliL3BlcnBldHVpdHkvdmFsaWRhdGlvbnMvcHJlc2VuY2UucmI=
132
- - !binary |-
133
- bGliL3BlcnBldHVpdHkvdmFsaWRhdGlvbnMvdmFsaWRhdGlvbl9zZXQucmI=
134
- - !binary |-
135
- bGliL3BlcnBldHVpdHkvdmVyc2lvbi5yYg==
136
- - !binary |-
137
- cGVycGV0dWl0eS5nZW1zcGVj
138
- - !binary |-
139
- c3BlYy9pbnRlZ3JhdGlvbi9hc3NvY2lhdGlvbnNfc3BlYy5yYg==
140
- - !binary |-
141
- c3BlYy9pbnRlZ3JhdGlvbi9kZWxldGlvbl9zcGVjLnJi
142
- - !binary |-
143
- c3BlYy9pbnRlZ3JhdGlvbi9lbnVtZXJhYmxlX3NwZWMucmI=
144
- - !binary |-
145
- c3BlYy9pbnRlZ3JhdGlvbi9pbmRleGluZ19zcGVjLnJi
146
- - !binary |-
147
- c3BlYy9pbnRlZ3JhdGlvbi9tb25nb2RiX3NwZWMucmI=
148
- - !binary |-
149
- c3BlYy9pbnRlZ3JhdGlvbi9wYWdpbmF0aW9uX3NwZWMucmI=
150
- - !binary |-
151
- c3BlYy9pbnRlZ3JhdGlvbi9wZXJzaXN0ZW5jZV9zcGVjLnJi
152
- - !binary |-
153
- c3BlYy9pbnRlZ3JhdGlvbi9yZXRyaWV2YWxfc3BlYy5yYg==
154
- - !binary |-
155
- c3BlYy9pbnRlZ3JhdGlvbi9zZXJpYWxpemF0aW9uX3NwZWMucmI=
156
- - !binary |-
157
- c3BlYy9pbnRlZ3JhdGlvbi91cGRhdGVfc3BlYy5yYg==
158
- - !binary |-
159
- c3BlYy9pbnRlZ3JhdGlvbi92YWxpZGF0aW9uc19zcGVjLnJi
160
- - !binary |-
161
- c3BlYy9wZXJwZXR1aXR5L2F0dHJpYnV0ZV9zZXRfc3BlYy5yYg==
162
- - !binary |-
163
- c3BlYy9wZXJwZXR1aXR5L2F0dHJpYnV0ZV9zcGVjLnJi
164
- - !binary |-
165
- c3BlYy9wZXJwZXR1aXR5L2NvbmZpZ19zcGVjLnJi
166
- - !binary |-
167
- c3BlYy9wZXJwZXR1aXR5L2RhdGFfaW5qZWN0YWJsZV9zcGVjLnJi
168
- - !binary |-
169
- c3BlYy9wZXJwZXR1aXR5L2RlcmVmZXJlbmNlcl9zcGVjLnJi
170
- - !binary |-
171
- c3BlYy9wZXJwZXR1aXR5L2lkZW50aXR5X21hcF9zcGVjLnJi
172
- - !binary |-
173
- c3BlYy9wZXJwZXR1aXR5L21hcHBlcl9yZWdpc3RyeV9zcGVjLnJi
174
- - !binary |-
175
- c3BlYy9wZXJwZXR1aXR5L21hcHBlcl9zcGVjLnJi
176
- - !binary |-
177
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvaW5kZXhfc3BlYy5yYg==
178
- - !binary |-
179
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvcXVlcnlfYXR0cmlidXRlX3NwZWMu
180
- cmI=
181
- - !binary |-
182
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvcXVlcnlfZXhwcmVzc2lvbl9zcGVj
183
- LnJi
184
- - !binary |-
185
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvcXVlcnlfaW50ZXJzZWN0aW9uX3Nw
186
- ZWMucmI=
187
- - !binary |-
188
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvcXVlcnlfc3BlYy5yYg==
189
- - !binary |-
190
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvcXVlcnlfdW5pb25fc3BlYy5yYg==
191
- - !binary |-
192
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvc2VyaWFsaXplcl9zcGVjLnJi
193
- - !binary |-
194
- c3BlYy9wZXJwZXR1aXR5L3JlZmVyZW5jZV9zcGVjLnJi
195
- - !binary |-
196
- c3BlYy9wZXJwZXR1aXR5L3JldHJpZXZhbF9zcGVjLnJi
197
- - !binary |-
198
- c3BlYy9wZXJwZXR1aXR5L3ZhbGlkYXRpb25zL2xlbmd0aF9zcGVjLnJi
199
- - !binary |-
200
- c3BlYy9wZXJwZXR1aXR5L3ZhbGlkYXRpb25zL3ByZXNlbmNlX3NwZWMucmI=
201
- - !binary |-
202
- c3BlYy9wZXJwZXR1aXR5L3ZhbGlkYXRpb25zX3NwZWMucmI=
203
- - !binary |-
204
- c3BlYy9wZXJwZXR1aXR5X3NwZWMucmI=
205
- - !binary |-
206
- c3BlYy9zcGVjX2hlbHBlci5yYg==
207
- - !binary |-
208
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy5yYg==
209
- - !binary |-
210
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9hcnRpY2xlLnJi
211
- - !binary |-
212
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9ib29rLnJi
213
- - !binary |-
214
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9jYXIucmI=
215
- - !binary |-
216
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9jb21tZW50LnJi
217
- - !binary |-
218
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9jcm1fcGVyc29uLnJi
219
- - !binary |-
220
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9nZW5lcmljX29iamVjdC5yYg==
221
- - !binary |-
222
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9tZXNzYWdlLnJi
223
- - !binary |-
224
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy90b3BpYy5yYg==
225
- - !binary |-
226
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy91c2VyLnJi
69
+ - .gitignore
70
+ - .rvmrc
71
+ - .travis.yml
72
+ - CHANGELOG.md
73
+ - Gemfile
74
+ - LICENSE
75
+ - README.md
76
+ - Rakefile
77
+ - lib/perpetuity.rb
78
+ - lib/perpetuity/attribute.rb
79
+ - lib/perpetuity/attribute_set.rb
80
+ - lib/perpetuity/config.rb
81
+ - lib/perpetuity/data_injectable.rb
82
+ - lib/perpetuity/dereferencer.rb
83
+ - lib/perpetuity/exceptions/duplicate_key_error.rb
84
+ - lib/perpetuity/identity_map.rb
85
+ - lib/perpetuity/mapper.rb
86
+ - lib/perpetuity/mapper_registry.rb
87
+ - lib/perpetuity/mongodb.rb
88
+ - lib/perpetuity/mongodb/index.rb
89
+ - lib/perpetuity/mongodb/query.rb
90
+ - lib/perpetuity/mongodb/query_attribute.rb
91
+ - lib/perpetuity/mongodb/query_expression.rb
92
+ - lib/perpetuity/mongodb/query_intersection.rb
93
+ - lib/perpetuity/mongodb/query_union.rb
94
+ - lib/perpetuity/mongodb/serializer.rb
95
+ - lib/perpetuity/reference.rb
96
+ - lib/perpetuity/retrieval.rb
97
+ - lib/perpetuity/validations.rb
98
+ - lib/perpetuity/validations/length.rb
99
+ - lib/perpetuity/validations/presence.rb
100
+ - lib/perpetuity/validations/validation_set.rb
101
+ - lib/perpetuity/version.rb
102
+ - perpetuity.gemspec
103
+ - spec/integration/associations_spec.rb
104
+ - spec/integration/deletion_spec.rb
105
+ - spec/integration/enumerable_spec.rb
106
+ - spec/integration/indexing_spec.rb
107
+ - spec/integration/mongodb_spec.rb
108
+ - spec/integration/pagination_spec.rb
109
+ - spec/integration/persistence_spec.rb
110
+ - spec/integration/retrieval_spec.rb
111
+ - spec/integration/serialization_spec.rb
112
+ - spec/integration/update_spec.rb
113
+ - spec/integration/validations_spec.rb
114
+ - spec/perpetuity/attribute_set_spec.rb
115
+ - spec/perpetuity/attribute_spec.rb
116
+ - spec/perpetuity/config_spec.rb
117
+ - spec/perpetuity/data_injectable_spec.rb
118
+ - spec/perpetuity/dereferencer_spec.rb
119
+ - spec/perpetuity/identity_map_spec.rb
120
+ - spec/perpetuity/mapper_registry_spec.rb
121
+ - spec/perpetuity/mapper_spec.rb
122
+ - spec/perpetuity/mongodb/index_spec.rb
123
+ - spec/perpetuity/mongodb/query_attribute_spec.rb
124
+ - spec/perpetuity/mongodb/query_expression_spec.rb
125
+ - spec/perpetuity/mongodb/query_intersection_spec.rb
126
+ - spec/perpetuity/mongodb/query_spec.rb
127
+ - spec/perpetuity/mongodb/query_union_spec.rb
128
+ - spec/perpetuity/mongodb/serializer_spec.rb
129
+ - spec/perpetuity/reference_spec.rb
130
+ - spec/perpetuity/retrieval_spec.rb
131
+ - spec/perpetuity/validations/length_spec.rb
132
+ - spec/perpetuity/validations/presence_spec.rb
133
+ - spec/perpetuity/validations_spec.rb
134
+ - spec/perpetuity_spec.rb
135
+ - spec/spec_helper.rb
136
+ - spec/support/test_classes.rb
137
+ - spec/support/test_classes/article.rb
138
+ - spec/support/test_classes/book.rb
139
+ - spec/support/test_classes/car.rb
140
+ - spec/support/test_classes/comment.rb
141
+ - spec/support/test_classes/crm_person.rb
142
+ - spec/support/test_classes/generic_object.rb
143
+ - spec/support/test_classes/message.rb
144
+ - spec/support/test_classes/topic.rb
145
+ - spec/support/test_classes/user.rb
227
146
  homepage: https://github.com/jgaskins/perpetuity.git
228
147
  licenses: []
229
148
  post_install_message:
@@ -231,116 +150,64 @@ rdoc_options: []
231
150
  require_paths:
232
151
  - lib
233
152
  required_ruby_version: !ruby/object:Gem::Requirement
153
+ none: false
234
154
  requirements:
235
155
  - - ! '>='
236
156
  - !ruby/object:Gem::Version
237
- segments:
238
- - 0
239
157
  version: '0'
240
- hash: 2002549777813010636
241
- none: false
242
158
  required_rubygems_version: !ruby/object:Gem::Requirement
159
+ none: false
243
160
  requirements:
244
161
  - - ! '>='
245
162
  - !ruby/object:Gem::Version
246
- segments:
247
- - 0
248
163
  version: '0'
249
- hash: 2002549777813010636
250
- none: false
251
164
  requirements: []
252
165
  rubyforge_project:
253
- rubygems_version: 1.8.25
166
+ rubygems_version: 1.8.24
254
167
  signing_key:
255
168
  specification_version: 3
256
169
  summary: Persistence library allowing serialization of Ruby objects
257
170
  test_files:
258
- - !binary |-
259
- c3BlYy9pbnRlZ3JhdGlvbi9hc3NvY2lhdGlvbnNfc3BlYy5yYg==
260
- - !binary |-
261
- c3BlYy9pbnRlZ3JhdGlvbi9kZWxldGlvbl9zcGVjLnJi
262
- - !binary |-
263
- c3BlYy9pbnRlZ3JhdGlvbi9lbnVtZXJhYmxlX3NwZWMucmI=
264
- - !binary |-
265
- c3BlYy9pbnRlZ3JhdGlvbi9pbmRleGluZ19zcGVjLnJi
266
- - !binary |-
267
- c3BlYy9pbnRlZ3JhdGlvbi9tb25nb2RiX3NwZWMucmI=
268
- - !binary |-
269
- c3BlYy9pbnRlZ3JhdGlvbi9wYWdpbmF0aW9uX3NwZWMucmI=
270
- - !binary |-
271
- c3BlYy9pbnRlZ3JhdGlvbi9wZXJzaXN0ZW5jZV9zcGVjLnJi
272
- - !binary |-
273
- c3BlYy9pbnRlZ3JhdGlvbi9yZXRyaWV2YWxfc3BlYy5yYg==
274
- - !binary |-
275
- c3BlYy9pbnRlZ3JhdGlvbi9zZXJpYWxpemF0aW9uX3NwZWMucmI=
276
- - !binary |-
277
- c3BlYy9pbnRlZ3JhdGlvbi91cGRhdGVfc3BlYy5yYg==
278
- - !binary |-
279
- c3BlYy9pbnRlZ3JhdGlvbi92YWxpZGF0aW9uc19zcGVjLnJi
280
- - !binary |-
281
- c3BlYy9wZXJwZXR1aXR5L2F0dHJpYnV0ZV9zZXRfc3BlYy5yYg==
282
- - !binary |-
283
- c3BlYy9wZXJwZXR1aXR5L2F0dHJpYnV0ZV9zcGVjLnJi
284
- - !binary |-
285
- c3BlYy9wZXJwZXR1aXR5L2NvbmZpZ19zcGVjLnJi
286
- - !binary |-
287
- c3BlYy9wZXJwZXR1aXR5L2RhdGFfaW5qZWN0YWJsZV9zcGVjLnJi
288
- - !binary |-
289
- c3BlYy9wZXJwZXR1aXR5L2RlcmVmZXJlbmNlcl9zcGVjLnJi
290
- - !binary |-
291
- c3BlYy9wZXJwZXR1aXR5L2lkZW50aXR5X21hcF9zcGVjLnJi
292
- - !binary |-
293
- c3BlYy9wZXJwZXR1aXR5L21hcHBlcl9yZWdpc3RyeV9zcGVjLnJi
294
- - !binary |-
295
- c3BlYy9wZXJwZXR1aXR5L21hcHBlcl9zcGVjLnJi
296
- - !binary |-
297
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvaW5kZXhfc3BlYy5yYg==
298
- - !binary |-
299
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvcXVlcnlfYXR0cmlidXRlX3NwZWMu
300
- cmI=
301
- - !binary |-
302
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvcXVlcnlfZXhwcmVzc2lvbl9zcGVj
303
- LnJi
304
- - !binary |-
305
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvcXVlcnlfaW50ZXJzZWN0aW9uX3Nw
306
- ZWMucmI=
307
- - !binary |-
308
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvcXVlcnlfc3BlYy5yYg==
309
- - !binary |-
310
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvcXVlcnlfdW5pb25fc3BlYy5yYg==
311
- - !binary |-
312
- c3BlYy9wZXJwZXR1aXR5L21vbmdvZGIvc2VyaWFsaXplcl9zcGVjLnJi
313
- - !binary |-
314
- c3BlYy9wZXJwZXR1aXR5L3JlZmVyZW5jZV9zcGVjLnJi
315
- - !binary |-
316
- c3BlYy9wZXJwZXR1aXR5L3JldHJpZXZhbF9zcGVjLnJi
317
- - !binary |-
318
- c3BlYy9wZXJwZXR1aXR5L3ZhbGlkYXRpb25zL2xlbmd0aF9zcGVjLnJi
319
- - !binary |-
320
- c3BlYy9wZXJwZXR1aXR5L3ZhbGlkYXRpb25zL3ByZXNlbmNlX3NwZWMucmI=
321
- - !binary |-
322
- c3BlYy9wZXJwZXR1aXR5L3ZhbGlkYXRpb25zX3NwZWMucmI=
323
- - !binary |-
324
- c3BlYy9wZXJwZXR1aXR5X3NwZWMucmI=
325
- - !binary |-
326
- c3BlYy9zcGVjX2hlbHBlci5yYg==
327
- - !binary |-
328
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy5yYg==
329
- - !binary |-
330
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9hcnRpY2xlLnJi
331
- - !binary |-
332
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9ib29rLnJi
333
- - !binary |-
334
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9jYXIucmI=
335
- - !binary |-
336
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9jb21tZW50LnJi
337
- - !binary |-
338
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9jcm1fcGVyc29uLnJi
339
- - !binary |-
340
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9nZW5lcmljX29iamVjdC5yYg==
341
- - !binary |-
342
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy9tZXNzYWdlLnJi
343
- - !binary |-
344
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy90b3BpYy5yYg==
345
- - !binary |-
346
- c3BlYy9zdXBwb3J0L3Rlc3RfY2xhc3Nlcy91c2VyLnJi
171
+ - spec/integration/associations_spec.rb
172
+ - spec/integration/deletion_spec.rb
173
+ - spec/integration/enumerable_spec.rb
174
+ - spec/integration/indexing_spec.rb
175
+ - spec/integration/mongodb_spec.rb
176
+ - spec/integration/pagination_spec.rb
177
+ - spec/integration/persistence_spec.rb
178
+ - spec/integration/retrieval_spec.rb
179
+ - spec/integration/serialization_spec.rb
180
+ - spec/integration/update_spec.rb
181
+ - spec/integration/validations_spec.rb
182
+ - spec/perpetuity/attribute_set_spec.rb
183
+ - spec/perpetuity/attribute_spec.rb
184
+ - spec/perpetuity/config_spec.rb
185
+ - spec/perpetuity/data_injectable_spec.rb
186
+ - spec/perpetuity/dereferencer_spec.rb
187
+ - spec/perpetuity/identity_map_spec.rb
188
+ - spec/perpetuity/mapper_registry_spec.rb
189
+ - spec/perpetuity/mapper_spec.rb
190
+ - spec/perpetuity/mongodb/index_spec.rb
191
+ - spec/perpetuity/mongodb/query_attribute_spec.rb
192
+ - spec/perpetuity/mongodb/query_expression_spec.rb
193
+ - spec/perpetuity/mongodb/query_intersection_spec.rb
194
+ - spec/perpetuity/mongodb/query_spec.rb
195
+ - spec/perpetuity/mongodb/query_union_spec.rb
196
+ - spec/perpetuity/mongodb/serializer_spec.rb
197
+ - spec/perpetuity/reference_spec.rb
198
+ - spec/perpetuity/retrieval_spec.rb
199
+ - spec/perpetuity/validations/length_spec.rb
200
+ - spec/perpetuity/validations/presence_spec.rb
201
+ - spec/perpetuity/validations_spec.rb
202
+ - spec/perpetuity_spec.rb
203
+ - spec/spec_helper.rb
204
+ - spec/support/test_classes.rb
205
+ - spec/support/test_classes/article.rb
206
+ - spec/support/test_classes/book.rb
207
+ - spec/support/test_classes/car.rb
208
+ - spec/support/test_classes/comment.rb
209
+ - spec/support/test_classes/crm_person.rb
210
+ - spec/support/test_classes/generic_object.rb
211
+ - spec/support/test_classes/message.rb
212
+ - spec/support/test_classes/topic.rb
213
+ - spec/support/test_classes/user.rb