dis 1.1.2 → 1.1.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 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