effective_storage 0.3.2 → 0.4.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f1b5a4ba6185fdd5c81e33afacd6dfb6ec8dc2e5c24fa07fb05be840d196740
|
4
|
+
data.tar.gz: e82b0d3bea47958aabd007a0a444088b92124421149357dd9998e1f0c30c4346
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aebccce481ef3f36dac0a1f1855e957abca8f6d30465f3bb214875210a98aa24fd1ea7df14b5de80c727d503fb69ef2a226e81f23b7b7381ea88165ccdf85df3
|
7
|
+
data.tar.gz: af51fe35aeed80cd5409aa39c3048b6e4128ad80429d383e2639d8b3afa19500ba05ee2647e6ff93c46fdca6d4af3700cfcc914d81aa3f1136afcf27e873d6ad
|
@@ -9,6 +9,8 @@ module ActiveStorageBlobExtension
|
|
9
9
|
scope :deep, -> { includes(:active_storage_extensions, attachments: [record: :record]) }
|
10
10
|
|
11
11
|
scope :attached, -> { joins(:attachments) }
|
12
|
+
scope :unattached, -> { where.not(id: attached) }
|
13
|
+
|
12
14
|
end
|
13
15
|
|
14
16
|
module ClassMethods
|
@@ -47,8 +49,55 @@ module ActiveStorageBlobExtension
|
|
47
49
|
save!
|
48
50
|
end
|
49
51
|
|
52
|
+
# The purge! command is not part of the regular ActiveStorage::Blob class
|
53
|
+
# This is the command called by the admin/storage datatable
|
54
|
+
# When config.never_delete_active_storage is enabled, this is the only way to delete a Blob
|
55
|
+
# And they will not be deleted in the background.
|
50
56
|
def purge!
|
51
|
-
|
57
|
+
before = EffectiveStorage.never_delete
|
58
|
+
|
59
|
+
begin
|
60
|
+
EffectiveStorage.never_delete = false
|
61
|
+
purge
|
62
|
+
ensure
|
63
|
+
EffectiveStorage.never_delete = before
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def delete
|
68
|
+
if EffectiveStorage.never_delete?
|
69
|
+
Rails.logger.info "[effective_storage] Skipping ActiveStorage::Blob delete"
|
70
|
+
return
|
71
|
+
end
|
72
|
+
|
73
|
+
super
|
74
|
+
end
|
75
|
+
|
76
|
+
def destroy
|
77
|
+
if EffectiveStorage.never_delete?
|
78
|
+
Rails.logger.info "[effective_storage] Skipping ActiveStorage::Blob destroy"
|
79
|
+
return
|
80
|
+
end
|
81
|
+
|
82
|
+
super
|
83
|
+
end
|
84
|
+
|
85
|
+
def purge
|
86
|
+
if EffectiveStorage.never_delete?
|
87
|
+
Rails.logger.info "[effective_storage] Skipping ActiveStorage::Blob purge"
|
88
|
+
return
|
89
|
+
end
|
90
|
+
|
91
|
+
super
|
92
|
+
end
|
93
|
+
|
94
|
+
def purge_later
|
95
|
+
if EffectiveStorage.never_delete?
|
96
|
+
Rails.logger.info "[effective_storage] Skipping ActiveStorage::Blob purge_later"
|
97
|
+
return
|
98
|
+
end
|
99
|
+
|
100
|
+
super
|
52
101
|
end
|
53
102
|
|
54
103
|
end
|
data/config/effective_storage.rb
CHANGED
data/lib/effective_storage.rb
CHANGED
@@ -6,7 +6,7 @@ require 'effective_storage/version'
|
|
6
6
|
module EffectiveStorage
|
7
7
|
|
8
8
|
def self.config_keys
|
9
|
-
[:layout, :authorize_active_storage]
|
9
|
+
[:layout, :authorize_active_storage, :never_delete]
|
10
10
|
end
|
11
11
|
|
12
12
|
include EffectiveGem
|
@@ -15,4 +15,8 @@ module EffectiveStorage
|
|
15
15
|
authorize_active_storage == true
|
16
16
|
end
|
17
17
|
|
18
|
+
def self.never_delete?
|
19
|
+
never_delete == true
|
20
|
+
end
|
21
|
+
|
18
22
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_storage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|