administrate-field-active_storage 1.0.3 → 1.0.6
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/Gemfile.lock +14 -12
- data/README.md +69 -5
- data/administrate-field-active_storage.gemspec +1 -1
- data/app/views/fields/active_storage/_form.html.erb +1 -1
- data/app/views/fields/active_storage/_item.html.erb +2 -2
- data/lib/administrate/field/active_storage.rb +7 -0
- data/test_app/Gemfile +1 -1
- data/test_app/Gemfile.lock +75 -62
- data/test_app/test/controllers/admin/posts_controller_test.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5ed83e5ceb2aa2fe19f46b3ee5d944ea23e63c407f909e1af479ce947b5badfc
|
|
4
|
+
data.tar.gz: 1af7048cc72231e962b07e5e28735e75d62e032dceafc822ea18322f023c9d8a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f8b1f9adb9dcedea95e4a4040d709f1c5c4e3b41c4033fa795e76d79d4b933283754db3036bf5d1834fe7aed8d1acf1be4caa555818f8852a3f95a350638032f
|
|
7
|
+
data.tar.gz: 44d81ee32eef75648670329620b6dc7c3041b9eeb27030bac261a1abd1569d366945da7206b48496004331c0c0e07bf0ef25a7277a371a05fd8c42acd87e35d5
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
administrate-field-active_storage (1.0.
|
|
4
|
+
administrate-field-active_storage (1.0.5)
|
|
5
5
|
administrate (>= 0.2.2)
|
|
6
6
|
rails (>= 7.0)
|
|
7
7
|
|
|
@@ -76,12 +76,13 @@ GEM
|
|
|
76
76
|
sassc-rails (~> 2.1)
|
|
77
77
|
selectize-rails (~> 0.6)
|
|
78
78
|
ast (2.4.2)
|
|
79
|
+
base64 (0.2.0)
|
|
79
80
|
builder (3.2.4)
|
|
80
81
|
concurrent-ruby (1.1.9)
|
|
81
82
|
crass (1.0.6)
|
|
82
|
-
date (3.
|
|
83
|
+
date (3.4.1)
|
|
83
84
|
erubi (1.10.0)
|
|
84
|
-
ffi (1.
|
|
85
|
+
ffi (1.17.1)
|
|
85
86
|
globalid (1.2.1)
|
|
86
87
|
activesupport (>= 6.1)
|
|
87
88
|
highline (2.0.3)
|
|
@@ -125,16 +126,16 @@ GEM
|
|
|
125
126
|
method_source (1.0.0)
|
|
126
127
|
mini_mime (1.1.5)
|
|
127
128
|
minitest (5.15.0)
|
|
128
|
-
net-imap (0.4.
|
|
129
|
+
net-imap (0.4.19)
|
|
129
130
|
date
|
|
130
131
|
net-protocol
|
|
131
132
|
net-pop (0.1.2)
|
|
132
133
|
net-protocol
|
|
133
134
|
net-protocol (0.2.2)
|
|
134
135
|
timeout
|
|
135
|
-
net-smtp (0.5.
|
|
136
|
+
net-smtp (0.5.1)
|
|
136
137
|
net-protocol
|
|
137
|
-
nio4r (2.7.
|
|
138
|
+
nio4r (2.7.4)
|
|
138
139
|
nokogiri (1.13.3-arm64-darwin)
|
|
139
140
|
racc (~> 1.4)
|
|
140
141
|
nokogiri (1.13.3-x86_64-darwin)
|
|
@@ -190,9 +191,9 @@ GEM
|
|
|
190
191
|
sprockets (4.1.1)
|
|
191
192
|
concurrent-ruby (~> 1.0)
|
|
192
193
|
rack (> 1, < 3)
|
|
193
|
-
sprockets-rails (3.
|
|
194
|
-
actionpack (>=
|
|
195
|
-
activesupport (>=
|
|
194
|
+
sprockets-rails (3.5.2)
|
|
195
|
+
actionpack (>= 6.1)
|
|
196
|
+
activesupport (>= 6.1)
|
|
196
197
|
sprockets (>= 3.0.0)
|
|
197
198
|
sqlite3 (1.7.3-arm64-darwin)
|
|
198
199
|
sqlite3 (1.7.3-x86_64-darwin)
|
|
@@ -200,12 +201,13 @@ GEM
|
|
|
200
201
|
terminal-table (3.0.2)
|
|
201
202
|
unicode-display_width (>= 1.1.1, < 3)
|
|
202
203
|
thor (1.1.0)
|
|
203
|
-
tilt (2.
|
|
204
|
-
timeout (0.4.
|
|
204
|
+
tilt (2.6.0)
|
|
205
|
+
timeout (0.4.3)
|
|
205
206
|
tzinfo (2.0.4)
|
|
206
207
|
concurrent-ruby (~> 1.0)
|
|
207
208
|
unicode-display_width (2.1.0)
|
|
208
|
-
websocket-driver (0.7.
|
|
209
|
+
websocket-driver (0.7.7)
|
|
210
|
+
base64
|
|
209
211
|
websocket-extensions (>= 0.1.0)
|
|
210
212
|
websocket-extensions (0.1.5)
|
|
211
213
|
zeitwerk (2.5.2)
|
data/README.md
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Administrate::Field::ActiveStorage
|
|
2
|
+
|
|
2
3
|

|
|
3
4
|

|
|
4
5
|
|
|
5
6
|
## Things To Know:
|
|
7
|
+
|
|
6
8
|
- To preview pdf files you need to install `mupdf` or `Poppler`.
|
|
7
9
|
- To preview video files you need to install `ffmpeg`.
|
|
8
10
|
- To preview Office files as pictures you need to install [activestorage-office-previewer](https://github.com/basecamp/activestorage-office-previewer) by basecamp
|
|
9
11
|
|
|
10
12
|
## How To Use:
|
|
13
|
+
|
|
11
14
|
Add `administrate-field-active_storage` and `image_processing` to your Gemfile (Rails 6+):
|
|
12
15
|
|
|
13
16
|
```ruby
|
|
@@ -16,6 +19,7 @@ gem "image_processing"
|
|
|
16
19
|
```
|
|
17
20
|
|
|
18
21
|
for Rails 5.x use the following
|
|
22
|
+
|
|
19
23
|
```ruby
|
|
20
24
|
gem "administrate-field-active_storage", "0.1.8"
|
|
21
25
|
```
|
|
@@ -27,7 +31,9 @@ $ bundle install
|
|
|
27
31
|
```
|
|
28
32
|
|
|
29
33
|
### `has_one_attached`:
|
|
34
|
+
|
|
30
35
|
Assuming your model name is `Model` and field name is `attachment`
|
|
36
|
+
|
|
31
37
|
```ruby
|
|
32
38
|
class ModelDashboard < Administrate::BaseDashboard
|
|
33
39
|
ATTRIBUTE_TYPES = {
|
|
@@ -35,10 +41,12 @@ class ModelDashboard < Administrate::BaseDashboard
|
|
|
35
41
|
}
|
|
36
42
|
# ...
|
|
37
43
|
```
|
|
44
|
+
|
|
38
45
|
Then add `:attachment` to `FORM_ATTRIBUTES` and `SHOW_PAGE_ATTRIBUTES`.
|
|
39
46
|
Adding `:attachment` `COLLECTION_ATTRIBUTES` will work but will probably look too big.
|
|
40
47
|
|
|
41
48
|
### `has_many_attached`:
|
|
49
|
+
|
|
42
50
|
Assuming your model name is `Model` and field name is `attachments` the process is identical the only issue is that the form field isn't being permitted, in order to permit it we apply the following method to the dashboard:
|
|
43
51
|
|
|
44
52
|
```ruby
|
|
@@ -54,18 +62,60 @@ class ModelDashboard < Administrate::BaseDashboard
|
|
|
54
62
|
}
|
|
55
63
|
|
|
56
64
|
# permitted for has_many_attached
|
|
57
|
-
def permitted_attributes
|
|
65
|
+
def permitted_attributes(_action = nil)
|
|
58
66
|
super + [:attachments => []]
|
|
59
67
|
end
|
|
60
68
|
```
|
|
69
|
+
|
|
61
70
|
I know it is not ideal, if you have a workaround please submit a PR.
|
|
62
71
|
|
|
63
|
-
Note: Rails 6 introduced a new config to determine the behavior on updates to `has_many_attached`.
|
|
64
|
-
|
|
72
|
+
Note: Rails 6 introduced a new config to determine the behavior on updates to `has_many_attached`. Setting `Rails.application.config.active_storage.replace_on_assign_to_many` to `true` will overwrite any existing values (purging the old ones), and setting it to `false` will append the new values. Please note that this configuation was [deprecated with Rails 7.1](https://github.com/rails/rails/blob/v7.0.2.3/activestorage/lib/active_storage/attached/model.rb#L150)
|
|
73
|
+
|
|
74
|
+
> config.active_storage.replace_on_assign_to_many is deprecated and will be removed in Rails 7.1. Make sure that your code works well with config.active_storage.replace_on_assign_to_many set to true before upgrading. To append new attachables to the Active Storage association, prefer using attach. Using association setter would result in purging the existing attached attachments and replacing them with new ones.
|
|
75
|
+
|
|
76
|
+
This means that in Rails 7 for `has_many_attached`, whenever a form is submitted, all associations to existing attachments are being removed without the ActiveStorage objects being deleted. This is undesired behavior because you have to re attach every time you update an object and it will result in orphaned ActiveStorage objects. To fix this and to add the ability to add more attachments to an existing set of attachments, follow this [workaround](https://stackoverflow.com/a/74207496). In short, you can create a concern:
|
|
77
|
+
|
|
78
|
+
```ruby
|
|
79
|
+
# app/models/concerns/append_to_has_many_attached.rb
|
|
80
|
+
module AppendToHasManyAttached
|
|
81
|
+
def self.[](fields)
|
|
82
|
+
Module.new do
|
|
83
|
+
extend ActiveSupport::Concern
|
|
84
|
+
|
|
85
|
+
fields = Array(fields).compact_blank # will always return an array ( worst case is an empty array)
|
|
86
|
+
|
|
87
|
+
fields.each do |field|
|
|
88
|
+
field = field.to_s # We need the string version
|
|
89
|
+
define_method :"#{field}=" do |attachables|
|
|
90
|
+
attachables = Array(attachables).compact_blank
|
|
91
|
+
|
|
92
|
+
if attachables.any?
|
|
93
|
+
attachment_changes[field] =
|
|
94
|
+
ActiveStorage::Attached::Changes::CreateMany.new(field, self, public_send(field).public_send(:blobs) + attachables)
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
And then load this concern in your model:
|
|
104
|
+
|
|
105
|
+
```ruby
|
|
106
|
+
class Model < ApplicationModel
|
|
107
|
+
include AppendToHasManyAttached['files'] # you can include it before or after, order does not matter, explanation below
|
|
65
108
|
|
|
109
|
+
has_many_attached :files
|
|
110
|
+
end
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Please note, it does not matter if you prepend or include the module, see [original post](https://stackoverflow.com/a/74207496) for details.
|
|
66
114
|
|
|
67
115
|
### Prevent N+1 queries
|
|
116
|
+
|
|
68
117
|
In order to prevent N+1 queries from active storage you have to modify your admin model controller, below an example for a model called `User` and with attached avatars
|
|
118
|
+
|
|
69
119
|
```ruby
|
|
70
120
|
module Admin
|
|
71
121
|
class UsersController < ApplicationController
|
|
@@ -107,6 +157,7 @@ module Admin
|
|
|
107
157
|
end
|
|
108
158
|
end
|
|
109
159
|
```
|
|
160
|
+
|
|
110
161
|
For `has_one_attached` cases, you will use:
|
|
111
162
|
|
|
112
163
|
```rb
|
|
@@ -134,6 +185,7 @@ module Admin
|
|
|
134
185
|
end
|
|
135
186
|
end
|
|
136
187
|
```
|
|
188
|
+
|
|
137
189
|
This route can be customized with `destroy_url`. The option expects a `proc` receiving 3 arguments:
|
|
138
190
|
the Administrate `namespace`, the `resource`, and the `attachment`. The proc can return anything
|
|
139
191
|
accepted by `link_to`:
|
|
@@ -202,9 +254,11 @@ Use a named variant for image preview for the `index` and `show` actions, respec
|
|
|
202
254
|
Named image variants were [added in Rails 7](https://guides.rubyonrails.org/v7.0/active_storage_overview.html#has-one-attached).
|
|
203
255
|
|
|
204
256
|
It might be necessary to add to app/assets/config/manifest.js:
|
|
257
|
+
|
|
205
258
|
```rb
|
|
206
259
|
//= link 'administrate-field-active_storage/application.css'
|
|
207
260
|
```
|
|
261
|
+
|
|
208
262
|
When set, this takes precedence over `index_preview_size` and `show_preview_size`.
|
|
209
263
|
|
|
210
264
|
Setting this to `false` displays original images instead of variants.
|
|
@@ -217,7 +271,14 @@ Displays the number of attachments in the `index` action.
|
|
|
217
271
|
|
|
218
272
|
Defaults to `true` if number of attachments is not 1.
|
|
219
273
|
|
|
220
|
-
###
|
|
274
|
+
### file_field_options
|
|
275
|
+
|
|
276
|
+
The `file_field_options` is a configuration option that allows you to customize the behavior and appearance of the file input field used for uploading attachments. You can pass various options to `file_field` to control its functionality.
|
|
277
|
+
|
|
278
|
+
The `multiple` HTML attribute for file input fields is set by default based on `::ActiveStorage::Attached::Many`, but can be overridden through this option.
|
|
279
|
+
The `direct` attribute to enable direct uploads is set to read from the field options, but can be overridden through this option.
|
|
280
|
+
|
|
281
|
+
#### direct
|
|
221
282
|
|
|
222
283
|
Enables direct upload from the browser to the cloud.
|
|
223
284
|
|
|
@@ -230,6 +291,7 @@ Don't forget to include [ActiveStorage JavaScript](https://edgeguides.rubyonrail
|
|
|
230
291
|
You can see translation example [here](https://github.com/Dreamersoul/administrate-field-active_storage/blob/master/config/locales/administrate-field-active_storage.en.yml).
|
|
231
292
|
|
|
232
293
|
## Things To Do:
|
|
294
|
+
|
|
233
295
|
- [x] upload single file
|
|
234
296
|
- [x] adding image support through url_for to support 3rd party cloud storage
|
|
235
297
|
- [x] use html 5 video element for video files
|
|
@@ -242,10 +304,12 @@ You can see translation example [here](https://github.com/Dreamersoul/administra
|
|
|
242
304
|
- [x] preview office files as pictures
|
|
243
305
|
|
|
244
306
|
## Contribution Guide:
|
|
245
|
-
|
|
307
|
+
|
|
308
|
+
1. contributors are welcome (code, suggestions, and bugs).
|
|
246
309
|
2. please test your code: `cd test_app && bundle && bundle exec rails test`.
|
|
247
310
|
3. please document your code.
|
|
248
311
|
4. add your name to the `contribute.md`.
|
|
249
312
|
|
|
250
313
|
---
|
|
314
|
+
|
|
251
315
|
Based on the [Administrate::Field::Image](https://github.com/thoughtbot/administrate-field-image) template, and inspired by [Administrate::Field::Paperclip](https://github.com/picandocodigo/administrate-field-paperclip).
|
|
@@ -2,7 +2,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |gem|
|
|
4
4
|
gem.name = "administrate-field-active_storage"
|
|
5
|
-
gem.version = "1.0.
|
|
5
|
+
gem.version = "1.0.6"
|
|
6
6
|
gem.authors = ["Hamad AlGhanim"]
|
|
7
7
|
gem.email = ["hamadyalghanim@gmail.com"]
|
|
8
8
|
gem.homepage = "https://github.com/Dreamersoul/administrate-field-active_storage"
|
|
@@ -29,6 +29,6 @@ By default, the input is a text field for the image's URL.
|
|
|
29
29
|
I18n.t("administrate.fields.active_storage.add", default: 'Add') :
|
|
30
30
|
I18n.t("administrate.fields.active_storage.replace", default: 'Replace')
|
|
31
31
|
%>
|
|
32
|
-
<%= f.file_field field.attribute,
|
|
32
|
+
<%= f.file_field field.attribute, field.file_field_options %>
|
|
33
33
|
</div>
|
|
34
34
|
</div>
|
|
@@ -41,8 +41,8 @@ controlled via a boolean local variable.
|
|
|
41
41
|
<% destroy_url = field.destroy_url.call(namespace, field.data.record, attachment) %>
|
|
42
42
|
<div>
|
|
43
43
|
<%= link_to I18n.t("administrate.fields.active_storage.remove", default: 'Remove'),
|
|
44
|
-
destroy_url, method: :delete, class: 'remove-attachment-link', data: { confirm: t("administrate.actions.confirm") } %>
|
|
44
|
+
destroy_url, method: :delete, class: 'remove-attachment-link', data: { confirm: t("administrate.actions.confirm"), turbo_method: :delete, turbo_confirm: t("administrate.actions.confirm") } %>
|
|
45
45
|
</div>
|
|
46
46
|
<hr>
|
|
47
47
|
<% end %>
|
|
48
|
-
<% end %>
|
|
48
|
+
<% end %>
|
|
@@ -40,6 +40,13 @@ module Administrate
|
|
|
40
40
|
options.fetch(:show_preview_variant, nil)
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
+
def file_field_options
|
|
44
|
+
{
|
|
45
|
+
direct_upload: direct?,
|
|
46
|
+
multiple: many?,
|
|
47
|
+
}.merge options.fetch(:file_field_options, {})
|
|
48
|
+
end
|
|
49
|
+
|
|
43
50
|
def many?
|
|
44
51
|
data.is_a? ::ActiveStorage::Attached::Many
|
|
45
52
|
end
|
data/test_app/Gemfile
CHANGED
|
@@ -8,7 +8,7 @@ gem 'rails', '7.1.2'
|
|
|
8
8
|
# Use sqlite3 as the database for Active Record
|
|
9
9
|
gem 'sqlite3', '~> 1.4'
|
|
10
10
|
# Use Puma as the app server
|
|
11
|
-
gem 'puma', '~>
|
|
11
|
+
gem 'puma', '~> 6.0'
|
|
12
12
|
# Use SCSS for stylesheets
|
|
13
13
|
gem 'sass-rails', '>= 6'
|
|
14
14
|
# Use Active Model has_secure_password
|
data/test_app/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
administrate-field-active_storage (1.0.
|
|
4
|
+
administrate-field-active_storage (1.0.5)
|
|
5
5
|
administrate (>= 0.2.2)
|
|
6
6
|
rails (>= 7.0)
|
|
7
7
|
|
|
@@ -82,8 +82,8 @@ GEM
|
|
|
82
82
|
minitest (>= 5.1)
|
|
83
83
|
mutex_m
|
|
84
84
|
tzinfo (~> 2.0)
|
|
85
|
-
addressable (2.8.
|
|
86
|
-
public_suffix (>= 2.0.2, <
|
|
85
|
+
addressable (2.8.7)
|
|
86
|
+
public_suffix (>= 2.0.2, < 7.0)
|
|
87
87
|
administrate (0.20.1)
|
|
88
88
|
actionpack (>= 6.0, < 8.0)
|
|
89
89
|
actionview (>= 6.0, < 8.0)
|
|
@@ -93,36 +93,37 @@ GEM
|
|
|
93
93
|
sassc-rails (~> 2.1)
|
|
94
94
|
selectize-rails (~> 0.6)
|
|
95
95
|
base64 (0.2.0)
|
|
96
|
-
|
|
96
|
+
benchmark (0.4.0)
|
|
97
|
+
bigdecimal (3.1.9)
|
|
97
98
|
bindex (0.8.1)
|
|
98
|
-
builder (3.
|
|
99
|
+
builder (3.3.0)
|
|
99
100
|
byebug (11.1.3)
|
|
100
|
-
capybara (3.
|
|
101
|
+
capybara (3.40.0)
|
|
101
102
|
addressable
|
|
102
103
|
matrix
|
|
103
104
|
mini_mime (>= 0.1.3)
|
|
104
|
-
nokogiri (~> 1.
|
|
105
|
+
nokogiri (~> 1.11)
|
|
105
106
|
rack (>= 1.6.0)
|
|
106
107
|
rack-test (>= 0.6.3)
|
|
107
108
|
regexp_parser (>= 1.5, < 3.0)
|
|
108
109
|
xpath (~> 3.2)
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
connection_pool (2.4.1)
|
|
110
|
+
concurrent-ruby (1.3.5)
|
|
111
|
+
connection_pool (2.5.0)
|
|
112
112
|
crass (1.0.6)
|
|
113
|
-
date (3.
|
|
113
|
+
date (3.4.1)
|
|
114
114
|
drb (2.2.1)
|
|
115
|
-
erubi (1.
|
|
116
|
-
ffi (1.
|
|
115
|
+
erubi (1.13.1)
|
|
116
|
+
ffi (1.17.1)
|
|
117
117
|
globalid (1.2.1)
|
|
118
118
|
activesupport (>= 6.1)
|
|
119
|
-
i18n (1.14.
|
|
119
|
+
i18n (1.14.7)
|
|
120
120
|
concurrent-ruby (~> 1.0)
|
|
121
|
-
image_processing (1.
|
|
122
|
-
mini_magick (>= 4.9.5, <
|
|
121
|
+
image_processing (1.14.0)
|
|
122
|
+
mini_magick (>= 4.9.5, < 6)
|
|
123
123
|
ruby-vips (>= 2.0.17, < 3)
|
|
124
|
-
io-console (0.
|
|
125
|
-
irb (1.
|
|
124
|
+
io-console (0.8.0)
|
|
125
|
+
irb (1.15.1)
|
|
126
|
+
pp (>= 0.6.0)
|
|
126
127
|
rdoc (>= 4.0.0)
|
|
127
128
|
reline (>= 0.4.2)
|
|
128
129
|
jquery-rails (4.6.0)
|
|
@@ -141,7 +142,8 @@ GEM
|
|
|
141
142
|
activerecord
|
|
142
143
|
kaminari-core (= 1.2.2)
|
|
143
144
|
kaminari-core (1.2.2)
|
|
144
|
-
|
|
145
|
+
logger (1.6.6)
|
|
146
|
+
loofah (2.24.0)
|
|
145
147
|
crass (~> 1.0.2)
|
|
146
148
|
nokogiri (>= 1.12.0)
|
|
147
149
|
mail (2.8.1)
|
|
@@ -149,44 +151,50 @@ GEM
|
|
|
149
151
|
net-imap
|
|
150
152
|
net-pop
|
|
151
153
|
net-smtp
|
|
152
|
-
marcel (1.0.
|
|
154
|
+
marcel (1.0.4)
|
|
153
155
|
matrix (0.4.2)
|
|
154
|
-
mini_magick (
|
|
156
|
+
mini_magick (5.1.2)
|
|
157
|
+
benchmark
|
|
158
|
+
logger
|
|
155
159
|
mini_mime (1.1.5)
|
|
156
|
-
minitest (5.
|
|
157
|
-
mutex_m (0.
|
|
158
|
-
net-imap (0.4.
|
|
160
|
+
minitest (5.25.4)
|
|
161
|
+
mutex_m (0.3.0)
|
|
162
|
+
net-imap (0.4.19)
|
|
159
163
|
date
|
|
160
164
|
net-protocol
|
|
161
165
|
net-pop (0.1.2)
|
|
162
166
|
net-protocol
|
|
163
167
|
net-protocol (0.2.2)
|
|
164
168
|
timeout
|
|
165
|
-
net-smtp (0.
|
|
169
|
+
net-smtp (0.5.1)
|
|
166
170
|
net-protocol
|
|
167
|
-
nio4r (2.
|
|
168
|
-
nokogiri (1.
|
|
171
|
+
nio4r (2.7.4)
|
|
172
|
+
nokogiri (1.17.2-arm64-darwin)
|
|
169
173
|
racc (~> 1.4)
|
|
170
|
-
nokogiri (1.
|
|
174
|
+
nokogiri (1.17.2-x86_64-darwin)
|
|
171
175
|
racc (~> 1.4)
|
|
172
|
-
nokogiri (1.
|
|
176
|
+
nokogiri (1.17.2-x86_64-linux)
|
|
173
177
|
racc (~> 1.4)
|
|
174
|
-
|
|
178
|
+
pp (0.6.2)
|
|
179
|
+
prettyprint
|
|
180
|
+
prettyprint (0.2.0)
|
|
181
|
+
psych (5.2.3)
|
|
182
|
+
date
|
|
175
183
|
stringio
|
|
176
|
-
public_suffix (
|
|
177
|
-
puma (
|
|
184
|
+
public_suffix (6.0.1)
|
|
185
|
+
puma (6.6.0)
|
|
178
186
|
nio4r (~> 2.0)
|
|
179
|
-
racc (1.
|
|
180
|
-
rack (3.
|
|
181
|
-
rack-mini-profiler (2.3.
|
|
187
|
+
racc (1.8.1)
|
|
188
|
+
rack (3.1.10)
|
|
189
|
+
rack-mini-profiler (2.3.4)
|
|
182
190
|
rack (>= 1.2.0)
|
|
183
|
-
rack-session (2.
|
|
191
|
+
rack-session (2.1.0)
|
|
192
|
+
base64 (>= 0.1.0)
|
|
184
193
|
rack (>= 3.0.0)
|
|
185
|
-
rack-test (2.
|
|
194
|
+
rack-test (2.2.0)
|
|
186
195
|
rack (>= 1.3)
|
|
187
|
-
rackup (2.1
|
|
196
|
+
rackup (2.2.1)
|
|
188
197
|
rack (>= 3)
|
|
189
|
-
webrick (~> 1.8)
|
|
190
198
|
rails (7.1.2)
|
|
191
199
|
actioncable (= 7.1.2)
|
|
192
200
|
actionmailbox (= 7.1.2)
|
|
@@ -205,9 +213,9 @@ GEM
|
|
|
205
213
|
activesupport (>= 5.0.0)
|
|
206
214
|
minitest
|
|
207
215
|
nokogiri (>= 1.6)
|
|
208
|
-
rails-html-sanitizer (1.6.
|
|
216
|
+
rails-html-sanitizer (1.6.2)
|
|
209
217
|
loofah (~> 2.21)
|
|
210
|
-
nokogiri (
|
|
218
|
+
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
|
211
219
|
railties (7.1.2)
|
|
212
220
|
actionpack (= 7.1.2)
|
|
213
221
|
activesupport (= 7.1.2)
|
|
@@ -217,15 +225,16 @@ GEM
|
|
|
217
225
|
thor (~> 1.0, >= 1.2.2)
|
|
218
226
|
zeitwerk (~> 2.6)
|
|
219
227
|
rake (13.2.1)
|
|
220
|
-
rdoc (6.
|
|
228
|
+
rdoc (6.12.0)
|
|
221
229
|
psych (>= 4.0.0)
|
|
222
|
-
regexp_parser (2.
|
|
223
|
-
reline (0.
|
|
230
|
+
regexp_parser (2.10.0)
|
|
231
|
+
reline (0.6.0)
|
|
224
232
|
io-console (~> 0.5)
|
|
225
|
-
rexml (3.
|
|
226
|
-
ruby-vips (2.2.
|
|
233
|
+
rexml (3.4.1)
|
|
234
|
+
ruby-vips (2.2.3)
|
|
227
235
|
ffi (~> 1.12)
|
|
228
|
-
|
|
236
|
+
logger
|
|
237
|
+
rubyzip (2.4.1)
|
|
229
238
|
sass-rails (6.0.0)
|
|
230
239
|
sassc-rails (~> 2.1, >= 2.1.1)
|
|
231
240
|
sassc (2.4.0)
|
|
@@ -237,40 +246,44 @@ GEM
|
|
|
237
246
|
sprockets-rails
|
|
238
247
|
tilt
|
|
239
248
|
selectize-rails (0.12.6)
|
|
240
|
-
selenium-webdriver (4.
|
|
241
|
-
|
|
249
|
+
selenium-webdriver (4.26.0)
|
|
250
|
+
base64 (~> 0.2)
|
|
251
|
+
logger (~> 1.4)
|
|
242
252
|
rexml (~> 3.2, >= 3.2.5)
|
|
243
|
-
rubyzip (>= 1.2.2)
|
|
253
|
+
rubyzip (>= 1.2.2, < 3.0)
|
|
254
|
+
websocket (~> 1.0)
|
|
244
255
|
sprockets (4.2.1)
|
|
245
256
|
concurrent-ruby (~> 1.0)
|
|
246
257
|
rack (>= 2.2.4, < 4)
|
|
247
|
-
sprockets-rails (3.
|
|
248
|
-
actionpack (>=
|
|
249
|
-
activesupport (>=
|
|
258
|
+
sprockets-rails (3.5.2)
|
|
259
|
+
actionpack (>= 6.1)
|
|
260
|
+
activesupport (>= 6.1)
|
|
250
261
|
sprockets (>= 3.0.0)
|
|
251
262
|
sqlite3 (1.7.3-arm64-darwin)
|
|
252
263
|
sqlite3 (1.7.3-x86_64-darwin)
|
|
253
264
|
sqlite3 (1.7.3-x86_64-linux)
|
|
254
|
-
stringio (3.1.
|
|
255
|
-
thor (1.3.
|
|
256
|
-
tilt (2.
|
|
257
|
-
timeout (0.4.
|
|
265
|
+
stringio (3.1.3)
|
|
266
|
+
thor (1.3.2)
|
|
267
|
+
tilt (2.6.0)
|
|
268
|
+
timeout (0.4.3)
|
|
258
269
|
tzinfo (2.0.6)
|
|
259
270
|
concurrent-ruby (~> 1.0)
|
|
260
|
-
web-console (4.2.
|
|
271
|
+
web-console (4.2.1)
|
|
261
272
|
actionview (>= 6.0.0)
|
|
262
273
|
activemodel (>= 6.0.0)
|
|
263
274
|
bindex (>= 0.4.0)
|
|
264
275
|
railties (>= 6.0.0)
|
|
265
|
-
|
|
266
|
-
websocket-driver (0.7.
|
|
276
|
+
websocket (1.2.11)
|
|
277
|
+
websocket-driver (0.7.7)
|
|
278
|
+
base64
|
|
267
279
|
websocket-extensions (>= 0.1.0)
|
|
268
280
|
websocket-extensions (0.1.5)
|
|
269
281
|
xpath (3.2.0)
|
|
270
282
|
nokogiri (~> 1.8)
|
|
271
|
-
zeitwerk (2.6.
|
|
283
|
+
zeitwerk (2.6.18)
|
|
272
284
|
|
|
273
285
|
PLATFORMS
|
|
286
|
+
arm64-darwin-22
|
|
274
287
|
arm64-darwin-23
|
|
275
288
|
x86_64-darwin-20
|
|
276
289
|
x86_64-darwin-21
|
|
@@ -282,7 +295,7 @@ DEPENDENCIES
|
|
|
282
295
|
byebug
|
|
283
296
|
capybara (>= 3.26)
|
|
284
297
|
image_processing (~> 1.2)
|
|
285
|
-
puma (~>
|
|
298
|
+
puma (~> 6.0)
|
|
286
299
|
rack-mini-profiler (~> 2.0)
|
|
287
300
|
rails (= 7.1.2)
|
|
288
301
|
sass-rails (>= 6)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: administrate-field-active_storage
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Hamad AlGhanim
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2025-05-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: administrate
|