praxis-mapper 3.2 → 3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/praxis-mapper/identity_map.rb +2 -2
- data/lib/praxis-mapper/resource.rb +1 -1
- data/lib/praxis-mapper/version.rb +1 -1
- data/praxis-mapper.gemspec +0 -1
- data/spec/praxis-mapper/identity_map_spec.rb +7 -0
- data/spec/praxis-mapper/resource_spec.rb +6 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6846f3a009fa64333abe3cb2ec246739bd51eac6
|
4
|
+
data.tar.gz: 9816dfbed93468cab708a9d7e62184d0ec8dd50b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f60333005ce4fbe58804f91b3641d7e7dee4f82cabb0ae57b1dd910f6f3364a04ab1c2145764ec94c17d75621800be1f140050507dbb8040b4bca3758ece56d
|
7
|
+
data.tar.gz: de0d8e4d594f3059ff204d5b808454ae9c53df667cf2f2b4bb22be58235a7019a687daf910f36cbd5ed7c0bec54bd1f152e350540cd6c7a3816d6cefd843eb1c
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# praxis-mapper changelog
|
2
2
|
|
3
|
+
## next
|
4
|
+
|
5
|
+
## 3.3.0
|
6
|
+
|
7
|
+
* Tightened up handling of missing records in `IdentityMap#all` and `Resource.wrap`. They now will never return `nil` values.
|
8
|
+
|
9
|
+
|
3
10
|
## 3.2.0
|
4
11
|
|
5
12
|
* Add `Resource.decorate` for extending/overriding methods on Resource associations. See `PersonResource` in [spec_resources.rb](spec/support/spec_resources.rb) for usage.
|
@@ -336,7 +336,7 @@ module Praxis::Mapper
|
|
336
336
|
if @row_keys[model].has_key?(key)
|
337
337
|
res = row_by_key(model, key, value)
|
338
338
|
if res
|
339
|
-
[
|
339
|
+
[res]
|
340
340
|
else
|
341
341
|
[]
|
342
342
|
end
|
@@ -347,7 +347,7 @@ module Praxis::Mapper
|
|
347
347
|
if @row_keys[model].has_key?(key)
|
348
348
|
values.collect do |value|
|
349
349
|
row_by_key(model, key, value)
|
350
|
-
end
|
350
|
+
end.compact
|
351
351
|
else
|
352
352
|
values.each_with_object(Array.new) do |value, results|
|
353
353
|
results.push *index(model, key, value)
|
@@ -142,7 +142,7 @@ module Praxis::Mapper
|
|
142
142
|
when nil
|
143
143
|
return []
|
144
144
|
when Enumerable
|
145
|
-
return records.collect { |record| self.for_record(record) }
|
145
|
+
return records.compact.collect { |record| self.for_record(record) }
|
146
146
|
else
|
147
147
|
return self.for_record(records)
|
148
148
|
end
|
data/praxis-mapper.gemspec
CHANGED
@@ -7,7 +7,6 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = "praxis-mapper"
|
8
8
|
spec.version = Praxis::Mapper::VERSION
|
9
9
|
spec.authors = ["Josep M. Blanquer","Dane Jensen"]
|
10
|
-
spec.date = "2014-08-18"
|
11
10
|
spec.summary = %q{A multi-datastore library designed for efficiency in loading large datasets.}
|
12
11
|
spec.email = ["blanquer@gmail.com","dane.jensen@gmail.com"]
|
13
12
|
|
@@ -774,6 +774,13 @@ describe Praxis::Mapper::IdentityMap do
|
|
774
774
|
identity_map.all(SimpleModel, :id => [4]).should =~ []
|
775
775
|
end
|
776
776
|
|
777
|
+
it 'does not return nil for records that were not found' do
|
778
|
+
results = identity_map.all(SimpleModel, :id => [1,4])
|
779
|
+
results.should have(1).item
|
780
|
+
results.should eq(identity_map.all(SimpleModel, :id => [1]))
|
781
|
+
end
|
782
|
+
|
783
|
+
|
777
784
|
end
|
778
785
|
|
779
786
|
context '#row_by_key' do
|
@@ -182,6 +182,12 @@ describe Praxis::Mapper::Resource do
|
|
182
182
|
wrapped_obj.length.should be(0)
|
183
183
|
end
|
184
184
|
|
185
|
+
it 'works array with nil member, returning only existing records' do
|
186
|
+
wrapped_set = SimpleResource.wrap([nil, record])
|
187
|
+
wrapped_set.should be_kind_of(Array)
|
188
|
+
wrapped_set.length.should be(1)
|
189
|
+
end
|
190
|
+
|
185
191
|
it 'works regardless of the resource class used' do
|
186
192
|
SimpleResource.wrap(record).should be(OtherResource.wrap(record))
|
187
193
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: praxis-mapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '3.
|
4
|
+
version: '3.3'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep M. Blanquer
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2015-02-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: randexp
|