dis 1.1.2 → 1.1.3

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
  SHA256:
3
- metadata.gz: 5cb8a9f8a44513293da86ca083dd5d21387f2369517da289682e0195f1ec2ad7
4
- data.tar.gz: fd15cbc2724c0125dc90070d90b4c25097e801e73224e446eeece2f07593c46e
3
+ metadata.gz: e288aeab069c9e9d3e65daeb330c4a28cd639d9d83a70cad85b91fbcc156d91c
4
+ data.tar.gz: c9b4fd556e84eb7e3ade9155f62fdc0e7220b1fdbf1fef601255ece90b8df530
5
5
  SHA512:
6
- metadata.gz: f07494205851ecaa4c0a9217c6721f42d04d4df8441da20bf3582f9f107dc35e5bd1b80220536147088e0387ccc265780a8ade62dbee42aad33c87d2d5d3e8e7
7
- data.tar.gz: e06b2a61f8c282c34540f47d5aeaa2ce04293994aa19b0263940b40cfb203316a6d61d8a888faf246b3859c1f9257239273c1e65d34a8a567077e6d23048f7d5
6
+ metadata.gz: 7d61a6b68917905cd896300e7413e8676d7562cdd96599c6331928da12ef6f8a6bdc7ad2c7cfaccc3fff5d42bed45f6f123a1bf1f0138689dd2c26070f9c7ebe
7
+ data.tar.gz: b75616ead369930d1a52b2778afd50af9f252d75bad020836762b5247289cd4fe805fc2791b19158fdc1926d22313eb2240e5c441e8d0ac04589d966e2209a2b
@@ -6,13 +6,13 @@ module Dis
6
6
  #
7
7
  # Handles delayed object type change.
8
8
  #
9
- # Dis::Jobs::ChangeType.perform_later("old_things", "new_things", hash)
9
+ # Dis::Jobs::ChangeType.perform_later("old_things", "new_things", key)
10
10
  class ChangeType < ActiveJob::Base
11
11
  queue_as :dis
12
12
 
13
- def perform(prev_type, new_type, hash)
14
- Dis::Storage.delayed_store(new_type, hash)
15
- Dis::Storage.delayed_delete(prev_type, hash)
13
+ def perform(prev_type, new_type, key)
14
+ Dis::Storage.delayed_store(new_type, key)
15
+ Dis::Storage.delayed_delete(prev_type, key)
16
16
  end
17
17
  end
18
18
  end
@@ -6,12 +6,12 @@ module Dis
6
6
  #
7
7
  # Handles delayed deletion of objects.
8
8
  #
9
- # Dis::Jobs::Delete.perform_later("documents", hash)
9
+ # Dis::Jobs::Delete.perform_later("documents", key)
10
10
  class Delete < ActiveJob::Base
11
11
  queue_as :dis
12
12
 
13
- def perform(type, hash)
14
- Dis::Storage.delayed_delete(type, hash)
13
+ def perform(type, key)
14
+ Dis::Storage.delayed_delete(type, key)
15
15
  end
16
16
  end
17
17
  end
@@ -6,12 +6,12 @@ module Dis
6
6
  #
7
7
  # Handles delayed storage of objects.
8
8
  #
9
- # Dis::Jobs::Store.perform_later("documents", hash)
9
+ # Dis::Jobs::Store.perform_later("documents", key)
10
10
  class Store < ActiveJob::Base
11
11
  queue_as :dis
12
12
 
13
- def perform(type, hash)
14
- Dis::Storage.delayed_store(type, hash)
13
+ def perform(type, key)
14
+ Dis::Storage.delayed_store(type, key)
15
15
  end
16
16
  end
17
17
  end
@@ -66,7 +66,7 @@ module Dis
66
66
  !delayed?
67
67
  end
68
68
 
69
- # Returns true if the layer isn't a delayed layer.
69
+ # Returns true if the layer is public.
70
70
  def public?
71
71
  @public
72
72
  end
@@ -83,26 +83,26 @@ module Dis
83
83
 
84
84
  # Stores a file.
85
85
  #
86
- # hash = Digest::SHA1.file(file.path).hexdigest
87
- # layer.store("documents", hash, path)
86
+ # key = Digest::SHA1.file(file.path).hexdigest
87
+ # layer.store("documents", key, path)
88
88
  #
89
- # Hash must be a hex digest of the file content. If an object with the
89
+ # The key must be a hex digest of the file content. If an object with the
90
90
  # supplied hash already exists, no action will be performed. In other
91
91
  # words, no data will be overwritten if a hash collision occurs.
92
92
  #
93
93
  # Returns an instance of Fog::Model, or raises an error if the layer
94
94
  # is readonly.
95
- def store(type, hash, file)
95
+ def store(type, key, file)
96
96
  raise Dis::Errors::ReadOnlyError if readonly?
97
- store!(type, hash, file)
97
+ store!(type, key, file)
98
98
  end
99
99
 
100
- # Returns true if a object with the given hash exists.
100
+ # Returns true if a object with the given key exists.
101
101
  #
102
- # layer.exists?("documents", hash)
103
- def exists?(type, hash)
104
- if directory(type, hash) &&
105
- directory(type, hash).files.head(key_component(type, hash))
102
+ # layer.exists?("documents", key)
103
+ def exists?(type, key)
104
+ if directory(type, key) &&
105
+ directory(type, key).files.head(key_component(type, key))
106
106
  true
107
107
  else
108
108
  false
@@ -111,22 +111,22 @@ module Dis
111
111
 
112
112
  # Retrieves a file from the store.
113
113
  #
114
- # layer.get("documents", hash)
115
- def get(type, hash)
116
- dir = directory(type, hash)
114
+ # layer.get("documents", key)
115
+ def get(type, key)
116
+ dir = directory(type, key)
117
117
  return unless dir
118
- dir.files.get(key_component(type, hash))
118
+ dir.files.get(key_component(type, key))
119
119
  end
120
120
 
121
121
  # Deletes a file from the store.
122
122
  #
123
- # layer.delete("documents", hash)
123
+ # layer.delete("documents", key)
124
124
  #
125
125
  # Returns true if the file was deleted, or false if it could not be found.
126
126
  # Raises an error if the layer is readonly.
127
- def delete(type, hash)
127
+ def delete(type, key)
128
128
  raise Dis::Errors::ReadOnlyError if readonly?
129
- delete!(type, hash)
129
+ delete!(type, key)
130
130
  end
131
131
 
132
132
  # Returns a name for the layer.
@@ -142,37 +142,37 @@ module Dis
142
142
  { delayed: false, readonly: false, public: false, path: nil }
143
143
  end
144
144
 
145
- def directory_component(_type, _hash)
145
+ def directory_component(_type, _key)
146
146
  path || ''
147
147
  end
148
148
 
149
- def key_component(type, hash)
150
- [type, hash[0...2], hash[2..hash.length]].compact.join('/')
149
+ def key_component(type, key)
150
+ [type, key[0...2], key[2..key.length]].compact.join('/')
151
151
  end
152
152
 
153
- def delete!(type, hash)
154
- return false unless exists?(type, hash)
155
- get(type, hash).destroy
153
+ def delete!(type, key)
154
+ return false unless exists?(type, key)
155
+ get(type, key).destroy
156
156
  end
157
157
 
158
- def directory(type, hash)
159
- connection.directories.get(directory_component(type, hash))
158
+ def directory(type, key)
159
+ connection.directories.get(directory_component(type, key))
160
160
  end
161
161
 
162
- def directory!(type, hash)
163
- dir = directory(type, hash)
162
+ def directory!(type, key)
163
+ dir = directory(type, key)
164
164
  dir ||= connection.directories.create(
165
- key: directory_component(type, hash),
165
+ key: directory_component(type, key),
166
166
  public: public?
167
167
  )
168
168
  dir
169
169
  end
170
170
 
171
- def store!(type, hash, file)
172
- return get(type, hash) if exists?(type, hash)
171
+ def store!(type, key, file)
172
+ return get(type, key) if exists?(type, key)
173
173
  file.rewind if file.respond_to?(:rewind)
174
- directory!(type, hash).files.create(
175
- key: key_component(type, hash),
174
+ directory!(type, key).files.create(
175
+ key: key_component(type, key),
176
176
  body: (file.is_a?(Fog::Model) ? file.body : file),
177
177
  public: public?
178
178
  )
@@ -41,18 +41,18 @@ module Dis
41
41
  # Changes the type of an object. Kicks off a
42
42
  # <tt>Dis::Jobs::ChangeType</tt> job if any delayed layers are defined.
43
43
  #
44
- # Dis::Storage.change_type("old_things", "new_things", hash)
45
- def change_type(prev_type, new_type, hash)
44
+ # Dis::Storage.change_type("old_things", "new_things", key)
45
+ def change_type(prev_type, new_type, key)
46
46
  require_writeable_layers!
47
- file = get(prev_type, hash)
47
+ file = get(prev_type, key)
48
48
  store_immediately!(new_type, file)
49
49
  layers.immediate.writeable.each do |layer|
50
- layer.delete(prev_type, hash)
50
+ layer.delete(prev_type, key)
51
51
  end
52
52
  if layers.delayed.writeable.any?
53
- Dis::Jobs::ChangeType.perform_later(prev_type, new_type, hash)
53
+ Dis::Jobs::ChangeType.perform_later(prev_type, new_type, key)
54
54
  end
55
- hash
55
+ key
56
56
  end
57
57
 
58
58
  # Stores a file and returns a digest. Kicks off a
@@ -81,11 +81,11 @@ module Dis
81
81
 
82
82
  # Returns true if the file exists in any layer.
83
83
  #
84
- # Dis::Storage.exists?("things", hash) # => true
85
- def exists?(type, hash)
84
+ # Dis::Storage.exists?("things", key) # => true
85
+ def exists?(type, key)
86
86
  require_layers!
87
87
  layers.each do |layer|
88
- return true if layer.exists?(type, hash)
88
+ return true if layer.exists?(type, key)
89
89
  end
90
90
  false
91
91
  end
@@ -98,14 +98,14 @@ module Dis
98
98
  # first available layer, then store it in all immediate layer.
99
99
  #
100
100
  # Returns an instance of Fog::Model.
101
- def get(type, hash)
101
+ def get(type, key)
102
102
  require_layers!
103
103
 
104
104
  fetch_count = 0
105
105
  result = layers.inject(nil) do |res, layer|
106
106
  res || lambda do
107
107
  fetch_count += 1
108
- layer.get(type, hash)
108
+ layer.get(type, key)
109
109
  end.call
110
110
  end
111
111
 
@@ -120,18 +120,18 @@ module Dis
120
120
  # Returns true if the file existed in any immediate layers,
121
121
  # or false if not.
122
122
  #
123
- # Dis::Storage.delete("things", hash)
123
+ # Dis::Storage.delete("things", key)
124
124
  # # => true
125
- # Dis::Storage.delete("things", hash)
125
+ # Dis::Storage.delete("things", key)
126
126
  # # => false
127
- def delete(type, hash)
127
+ def delete(type, key)
128
128
  require_writeable_layers!
129
129
  deleted = false
130
130
  layers.immediate.writeable.each do |layer|
131
- deleted = true if layer.delete(type, hash)
131
+ deleted = true if layer.delete(type, key)
132
132
  end
133
133
  if layers.delayed.writeable.any?
134
- Dis::Jobs::Delete.perform_later(type, hash)
134
+ Dis::Jobs::Delete.perform_later(type, key)
135
135
  end
136
136
  deleted
137
137
  end
@@ -139,9 +139,9 @@ module Dis
139
139
  # Deletes content from all delayed layers.
140
140
  #
141
141
  # Dis::Storage.delayed_delete("things", hash)
142
- def delayed_delete(type, hash)
142
+ def delayed_delete(type, key)
143
143
  layers.delayed.writeable.each do |layer|
144
- layer.delete(type, hash)
144
+ layer.delete(type, key)
145
145
  end
146
146
  end
147
147
 
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Dis
4
- VERSION = '1.1.2'.freeze
4
+ VERSION = '1.1.3'.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.1.2
4
+ version: 1.1.3
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-02-11 00:00:00.000000000 Z
11
+ date: 2019-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -25,19 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '5.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: fog
28
+ name: fog-core
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.35'
33
+ version: 2.1.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.35'
40
+ version: 2.1.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: fog-local
43
43
  requirement: !ruby/object:Gem::Requirement