dis 1.1.3 → 1.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e288aeab069c9e9d3e65daeb330c4a28cd639d9d83a70cad85b91fbcc156d91c
4
- data.tar.gz: c9b4fd556e84eb7e3ade9155f62fdc0e7220b1fdbf1fef601255ece90b8df530
3
+ metadata.gz: '0118e21d454d4ce58bcf4ad8d3abc5a5eece09f7aa425869e04853d6a6a3ea10'
4
+ data.tar.gz: 9cb58ea82f314f2c615a40773fa8e3e283171bbe6e0673c9f8938324c334d7c7
5
5
  SHA512:
6
- metadata.gz: 7d61a6b68917905cd896300e7413e8676d7562cdd96599c6331928da12ef6f8a6bdc7ad2c7cfaccc3fff5d42bed45f6f123a1bf1f0138689dd2c26070f9c7ebe
7
- data.tar.gz: b75616ead369930d1a52b2778afd50af9f252d75bad020836762b5247289cd4fe805fc2791b19158fdc1926d22313eb2240e5c441e8d0ac04589d966e2209a2b
6
+ metadata.gz: 35ad213ed5e7765c117fca8cc1b9496b348c93366996451bd44c93cadac33cd147580fd28f317ad4be83ee3db8304a4074bb53c692a96a230956aeb400ab8269
7
+ data.tar.gz: 54929beef973a5c1fbfa1e938c39e0bde0a2977d577325523dcf1d4eafe824b98e64ef2ac8d1d47cd2e4717341591fc659913b3a2dddd5fe2eae8195c603ae85
@@ -97,6 +97,14 @@ module Dis
97
97
  store!(type, key, file)
98
98
  end
99
99
 
100
+ # Returns all the given keys that exist in the layer.
101
+ #
102
+ # layer.existing("documents", keys)
103
+ def existing(type, keys)
104
+ list = directory(type, keys.first).files.map(&:key)
105
+ keys.select { |key| list.include?(key_component(type, key)) }
106
+ end
107
+
100
108
  # Returns true if a object with the given key exists.
101
109
  #
102
110
  # layer.exists?("documents", key)
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Dis
4
- VERSION = '1.1.3'.freeze
4
+ VERSION = '1.1.4'.freeze
5
5
  end
@@ -27,19 +27,13 @@ namespace :dis do
27
27
 
28
28
  Dis::Storage.layers.each do |layer|
29
29
  print "Checking #{layer.name}... "
30
- existing = objects
31
- .pmap { |hash| [hash, layer.exists?(model.dis_type, hash)] }
32
- .select(&:last)
33
- .map(&:first)
30
+
31
+ existing = layer.existing(model.dis_type, objects)
34
32
  missing = objects - existing
35
33
  global_missing -= existing
36
34
  puts "#{existing.length} existing, #{missing.length} missing"
37
35
 
38
- next unless layer.delayed? #&& layer.writeable?
39
-
40
- jobs += missing.pmap do |hash|
41
- [model.dis_type, hash] if Dis::Storage.exists?(model.dis_type, hash)
42
- end.compact
36
+ next unless layer.delayed?
43
37
  end
44
38
 
45
39
  if global_missing.any?
@@ -47,6 +41,10 @@ namespace :dis do
47
41
  pp global_missing
48
42
  end
49
43
 
44
+ jobs += (objects - global_missing).pmap do |hash|
45
+ [model.dis_type, hash]
46
+ end.compact
47
+
50
48
  puts
51
49
  end
52
50
 
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.1.3
4
+ version: 1.1.4
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: 2019-06-13 00:00:00.000000000 Z
11
+ date: 2019-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails