praxis-mapper 3.2 → 3.3
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.
- 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
|