effective_resources 2.2.9 → 2.2.11
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 +4 -4
- data/app/models/concerns/has_many_purgable.rb +14 -5
- data/lib/effective_resources/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd09d6add5f00d00573d998139d60d3fb29d7ef34af02f0e6a0edc3493480d80
|
4
|
+
data.tar.gz: 24a8993ebecfdc5204f34e370bca4c4a970a65a5ebb9ac7f5d412a00403c786b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6fa8aa630baa7d68b8c66e22fa9a3700179ebf593e267640216b4138789518064c1097bd0449231a2abb11153f0de93dbd2e7bf69fc9df770064fe6934ce0896
|
7
|
+
data.tar.gz: cd135c29a2f6cbea33eafe561e062e9b6659522403c781099aa23e9f17e0b860590eb0fea2f54d995ab42e63cb01abe92ac1304305bcfa7b8c7342e2d00b528b
|
@@ -1,9 +1,14 @@
|
|
1
1
|
# HasManyPurgable
|
2
2
|
#
|
3
|
-
# Mark your model with 'has_many_purgable' or 'has_one_purgable'
|
3
|
+
# Mark your model with 'has_many_purgable' or 'has_one_purgable' (both the same thing)
|
4
|
+
# to allow any has_many_attached or has_one_attached to be purgable.
|
5
|
+
#
|
4
6
|
# Pass 'has_many_purgable :files, :avatar' to only allow the files and avatar to be purged.
|
7
|
+
#
|
5
8
|
# Works with effective_bootstrap file_field to display a Delete file on save checkbox
|
6
|
-
# to submit a
|
9
|
+
# to submit a _purge array of attachments to purge.
|
10
|
+
#
|
11
|
+
# You must permit the attribute _purge: []
|
7
12
|
|
8
13
|
module HasManyPurgable
|
9
14
|
extend ActiveSupport::Concern
|
@@ -28,9 +33,13 @@ module HasManyPurgable
|
|
28
33
|
options = @has_many_purgable_options
|
29
34
|
self.send(:define_method, :has_many_purgable_options) { options }
|
30
35
|
|
31
|
-
attr_accessor :
|
36
|
+
attr_accessor :_purge
|
37
|
+
|
38
|
+
effective_resource do
|
39
|
+
_purge :permitted_param
|
40
|
+
end
|
32
41
|
|
33
|
-
with_options(if: -> {
|
42
|
+
with_options(if: -> { _purge.present? }) do
|
34
43
|
before_validation { has_many_purgable_mark_for_destruction }
|
35
44
|
after_save { has_many_purgable_purge }
|
36
45
|
end
|
@@ -56,7 +65,7 @@ module HasManyPurgable
|
|
56
65
|
|
57
66
|
# As submitted by the form and permitted by our associations and options
|
58
67
|
def has_many_purgable_attachments
|
59
|
-
submitted = (Array(
|
68
|
+
submitted = (Array(_purge) - [nil, '', '0', ' ', 'false', 'f', 'off']).map(&:to_sym)
|
60
69
|
submitted & has_many_purgable_names
|
61
70
|
end
|
62
71
|
|