Skip to content

Commit 2dba791

Browse files
committed
Change to decide #thumb_method based on ActiveStorage version
Refs. railsadminteam#3255
1 parent b552f2c commit 2dba791

File tree

4 files changed

+25
-2
lines changed

4 files changed

+25
-2
lines changed

lib/rails_admin/config/fields/types/active_storage.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class ActiveStorage < RailsAdmin::Config::Fields::Types::FileUpload
88
RailsAdmin::Config::Fields::Types.register(self)
99

1010
register_instance_option :thumb_method do
11-
if Gem.loaded_specs.key?('ruby-vips')
11+
if ::ActiveStorage::VERSION::MAJOR >= 6
1212
{resize_to_limit: [100, 100]}
1313
else
1414
{resize: '100x100>'}

lib/rails_admin/config/fields/types/multiple_active_storage.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class MultipleActiveStorage < RailsAdmin::Config::Fields::Types::MultipleFileUpl
99

1010
class ActiveStorageAttachment < RailsAdmin::Config::Fields::Types::MultipleFileUpload::AbstractAttachment
1111
register_instance_option :thumb_method do
12-
if Gem.loaded_specs.key?('ruby-vips')
12+
if ::ActiveStorage::VERSION::MAJOR >= 6
1313
{resize_to_limit: [100, 100]}
1414
else
1515
{resize: '100x100>'}

spec/rails_admin/config/fields/types/active_storage_spec.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,16 @@
1010
end.with(object: record)
1111
end
1212

13+
describe '#thumb_method' do
14+
it 'returns corresponding value which is to be passed to image_processing(ActiveStorage >= 6.0) or mini_magick(ActiveStorage 5.2)' do
15+
if ::ActiveStorage::VERSION::MAJOR >= 6
16+
expect(field.thumb_method).to eq(resize_to_limit: [100, 100])
17+
else
18+
expect(field.thumb_method).to eq(resize: '100x100>')
19+
end
20+
end
21+
end
22+
1323
describe '#image?' do
1424
context 'when attachment is an image' do
1525
let(:record) { FactoryBot.create :field_test, active_storage_asset: {io: StringIO.new('dummy'), filename: "test.jpg", content_type: "image/jpeg"} }

spec/rails_admin/config/fields/types/multiple_active_storage_spec.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,19 @@
1414
end
1515

1616
describe RailsAdmin::Config::Fields::Types::MultipleActiveStorage::ActiveStorageAttachment do
17+
describe '#thumb_method' do
18+
let(:record) { FactoryBot.create :field_test, active_storage_assets: [{io: StringIO.new('dummy'), filename: "test.txt", content_type: "text/plain"}] }
19+
subject { field.attachments[0] }
20+
21+
it 'returns corresponding value which is to be passed to image_processing(ActiveStorage >= 6.0) or mini_magick(ActiveStorage 5.2)' do
22+
if ::ActiveStorage::VERSION::MAJOR >= 6
23+
expect(subject.thumb_method).to eq(resize_to_limit: [100, 100])
24+
else
25+
expect(subject.thumb_method).to eq(resize: '100x100>')
26+
end
27+
end
28+
end
29+
1730
describe '#pretty_value' do
1831
subject { field.pretty_value }
1932

0 commit comments

Comments
 (0)