schron 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eeba481760ccd8f3a638fa9ba360529bc06974e9
4
- data.tar.gz: 155dfdaa24c0a42284a38417ba2ffd9e485295e6
3
+ metadata.gz: de9e652eb4d207ac24ef57bfedd7c4dc2ca0a9e1
4
+ data.tar.gz: dbd9f93d7a9e68dfc7f6f3724cc38b221236a53a
5
5
  SHA512:
6
- metadata.gz: 6072e0ee19bb32562b0f2d3f2cf2ea73d8652d2bed5824d7e528fd680da88edf93d075b22e9ca6b68d9509e4f355b71d8d69bf40f3fa67af767d9ef02b758db3
7
- data.tar.gz: 447b176fa96f473e0afa5b889f871fa6141956029b753dc2af49a8878d907dcdadfed26e6e0b7652e472781d6d5afac83e9d09d09b2896de15f07c3b99b385e2
6
+ metadata.gz: 9fc9ddee17bc85c6a4af79c457ec76ee213d6a799733748d05b89a7b48582bba35e01f7de140c68b70605ba24826a07e40948f5244bd861db974f1cacdd57867
7
+ data.tar.gz: 6411312427bc86bc58e314ae68df0c24a2d17fe0c366d461f6b122260ebdaa629595796e640bb0c960fb79306aa9aa701f9342d170dc7604689fafa6e1aa837a
@@ -18,6 +18,7 @@ module Schron
18
18
  end
19
19
 
20
20
  def get(kind, id)
21
+ return nil unless id
21
22
  doc = coll(kind).find_one(id_selector(id))
22
23
  doc ?
23
24
  unserialize(kind, doc) :
@@ -25,6 +26,8 @@ module Schron
25
26
  end
26
27
 
27
28
  def multi_get(kind, ids)
29
+ ids = ids.compact
30
+ return [] if ids.empty?
28
31
  docs = coll(kind).find(multiple_id_selector(ids))
29
32
  Schron::Util.sorted_by_id_list(docs.map{ |doc| unserialize(kind, doc) }, ids)
30
33
  end
@@ -24,6 +24,10 @@ if defined?(RSpec)
24
24
  data[:change] = 'true'
25
25
  expect(ds.get(entity_kind, data[:id])[:change]).to be_nil
26
26
  end
27
+
28
+ it 'returns nil when passed nil' do
29
+ expect(ds.get(named_kind, nil)).to be_nil
30
+ end
27
31
  end
28
32
 
29
33
  describe 'multi get' do
@@ -57,7 +61,10 @@ if defined?(RSpec)
57
61
  ids = [d1[:id], d2[:id]]
58
62
  expect(ds.multi_get(named_kind, ids)).to eq([d1, d2])
59
63
  end
60
-
64
+
65
+ it 'removes nils from the array of ids' do
66
+ expect(ds.multi_get(entity_kind, [nil])).to eq([])
67
+ end
61
68
  end
62
69
 
63
70
  describe 'insert' do
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "schron"
7
- spec.version = "0.0.9"
7
+ spec.version = "0.0.10"
8
8
  spec.authors = ["David Faber"]
9
9
  spec.email = ["david@1bios.co"]
10
10
  spec.summary = %q{Repository implementation for entity persistence}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Faber
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-06 00:00:00.000000000 Z
11
+ date: 2015-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake