dis 1.0.7 → 1.0.9

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: f063aea5fca2c1baf077761de89c6fde85db6b1f
4
- data.tar.gz: dc15a0aeceea3f78a95ec92c96ef528353ca5741
3
+ metadata.gz: 0d8add66b6b4d1c287724eb50aa1275a0bc309c1
4
+ data.tar.gz: 0d87f3171d1a7655318bafbac267f96f4f1bdee1
5
5
  SHA512:
6
- metadata.gz: b4bde9efdc4391dbeed1fa5e2abfc1dfb443fde7c1841bf65064a3f83e227bcd5a866f5b5178dd812575ebc8bd8e801acd48221f12467f62a1660367d0eb2010
7
- data.tar.gz: c25a646f50936750cf90087934dd20ce0988139a5701d6b6b2b04102737596ac8c86fab865b2e181100a7b9dd15a6ff95c58c9ae55d28b3d0569703abaadd65f
6
+ metadata.gz: 9efdaea5d331d7674cfb5ecec71afe13e61f403947c7403ff5407e1fd7d61e836f6f589a558dae71e5f9de96e5bf56b914cea173230c81bfb483cb6a17fc9bd5
7
+ data.tar.gz: a363a71d9ca17d1d9edefe84ff54dc603388494932bc4774de5ba5b84eab1fde3c9b755c77c6ef84faab3b8d836f7935d4dcc9f8ecfd87c0108b4af88777820f
@@ -84,15 +84,18 @@ module Dis
84
84
  def get(type, hash)
85
85
  require_layers!
86
86
 
87
- layers.inject(true) do |no_misses, layer|
88
- result = layer.get(type, hash)
89
- if result
90
- store_immediately!(type, result) unless no_misses
91
- return result
92
- end
87
+ fetch_count = 0
88
+ result = layers.inject(nil) do |res, layer|
89
+ res || lambda do
90
+ fetch_count += 1
91
+ layer.get(type, hash)
92
+ end.call
93
93
  end
94
94
 
95
- raise Dis::Errors::NotFoundError
95
+ raise Dis::Errors::NotFoundError unless result
96
+
97
+ store_immediately!(type, result) if fetch_count > 1
98
+ result
96
99
  end
97
100
 
98
101
  # Deletes a file from all layers. Kicks off a
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Dis
4
- VERSION = '1.0.7'.freeze
4
+ VERSION = '1.0.9'.freeze
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dis
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inge Jørgensen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-03 00:00:00.000000000 Z
11
+ date: 2017-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -149,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  version: '0'
150
150
  requirements: []
151
151
  rubyforge_project:
152
- rubygems_version: 2.4.5
152
+ rubygems_version: 2.5.1
153
153
  signing_key:
154
154
  specification_version: 4
155
155
  summary: A file store for your Rails app