refinerycms-images 2.0.10 → 2.1.0

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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/refinery/admin/images_controller.rb +40 -6
  3. data/app/helpers/refinery/admin/images_helper.rb +2 -2
  4. data/app/models/refinery/image.rb +40 -21
  5. data/app/views/refinery/admin/images/_existing_image.html.erb +1 -1
  6. data/app/views/refinery/admin/images/_form.html.erb +1 -1
  7. data/app/views/refinery/admin/images/_grid_view.html.erb +2 -2
  8. data/app/views/refinery/admin/images/_list_view_image.html.erb +1 -1
  9. data/app/views/refinery/admin/images/_records.html.erb +4 -6
  10. data/app/views/refinery/admin/images/insert.html.erb +6 -1
  11. data/config/locales/bg.yml +1 -2
  12. data/config/locales/cs.yml +1 -2
  13. data/config/locales/da.yml +1 -2
  14. data/config/locales/de.yml +1 -2
  15. data/config/locales/el.yml +1 -2
  16. data/config/locales/en.yml +2 -2
  17. data/config/locales/es.yml +1 -2
  18. data/config/locales/fi.yml +1 -2
  19. data/config/locales/fr.yml +1 -2
  20. data/config/locales/hu.yml +44 -0
  21. data/config/locales/it.yml +1 -1
  22. data/config/locales/ja.yml +1 -2
  23. data/config/locales/ko.yml +1 -2
  24. data/config/locales/lt.yml +1 -2
  25. data/config/locales/lv.yml +1 -2
  26. data/config/locales/nb.yml +1 -2
  27. data/config/locales/nl.yml +15 -15
  28. data/config/locales/pl.yml +1 -2
  29. data/config/locales/pt-BR.yml +1 -2
  30. data/config/locales/pt.yml +44 -0
  31. data/config/locales/rs.yml +1 -2
  32. data/config/locales/ru.yml +1 -2
  33. data/config/locales/sk.yml +2 -3
  34. data/config/locales/sl.yml +1 -2
  35. data/config/locales/sv.yml +1 -2
  36. data/config/locales/tr.yml +44 -0
  37. data/config/locales/uk.yml +44 -0
  38. data/config/locales/vi.yml +1 -2
  39. data/config/locales/zh-CN.yml +3 -4
  40. data/config/locales/zh-TW.yml +1 -2
  41. data/config/routes.rb +3 -3
  42. data/db/migrate/20120625093918_remove_image_ext_from_refinery_images.rb +9 -0
  43. data/lib/generators/refinery/images/templates/config/initializers/refinery/images.rb.erb +7 -1
  44. data/lib/refinery/images/configuration.rb +22 -8
  45. data/lib/refinery/images/dragonfly.rb +13 -10
  46. data/lib/refinery/images/engine.rb +1 -2
  47. data/lib/refinery/images/validators.rb +1 -0
  48. data/lib/refinery/images/validators/image_update_validator.rb +17 -0
  49. data/refinerycms-images.gemspec +2 -4
  50. data/spec/factories/image.rb +4 -0
  51. data/spec/{requests → features}/refinery/admin/images_spec.rb +65 -7
  52. data/spec/fixtures/beach-alternate.jpeg +0 -0
  53. data/spec/fixtures/cape-town-tide-table.pdf +0 -0
  54. data/spec/models/refinery/image_spec.rb +70 -40
  55. metadata +18 -22
@@ -24,8 +24,7 @@ ko:
24
24
  switch_to: "%{view_name} 형식으로 보기"
25
25
  list: 목록
26
26
  grid: 격자
27
- grid_view:
28
- view_live_html: 이 이미지 보기 <br/><em>새 창에서 열림</em>
27
+ view_live_html: 이 이미지 보기 <br/><em>새 창에서 열림</em>
29
28
  existing_image:
30
29
  button_text: 삽입
31
30
  resize_image: 크기를 변경하시겠습니까?
@@ -24,8 +24,7 @@ lt:
24
24
  switch_to: Persijungti į %{view_name} vaizdą
25
25
  list: sąrašo
26
26
  grid: tinklelio
27
- grid_view:
28
- view_live_html: Peržiūrėti paveikslėlį <br/><em>Atsirado naujame lange</em>
27
+ view_live_html: Peržiūrėti paveikslėlį <br/><em>Atsirado naujame lange</em>
29
28
  existing_image:
30
29
  button_text: Pridėti
31
30
  resize_image: Keisti paveikslėlio išmatavimus?
@@ -24,8 +24,7 @@ lv:
24
24
  switch_to: Pārslēgt uz %{view_name} skatu
25
25
  list: saraksta
26
26
  grid: režģa
27
- grid_view:
28
- view_live_html: Skatīt šo bildi <br/><em>Atvērsies jaunā logā</em>
27
+ view_live_html: Skatīt šo bildi <br/><em>Atvērsies jaunā logā</em>
29
28
  existing_image:
30
29
  button_text: Ievietot
31
30
  resize_image: Mainīt bildes izmērus?
@@ -24,8 +24,7 @@ nb:
24
24
  switch_to: "Endre til %{view_name} visning"
25
25
  list: liste
26
26
  grid: rutenett
27
- grid_view:
28
- view_live_html: Vis dette bildet <br/><em>Åpner i et nytt vindu</em>
27
+ view_live_html: Vis dette bildet <br/><em>Åpner i et nytt vindu</em>
29
28
  existing_image:
30
29
  button_text: Sett inn
31
30
  resize_image: "Endre størrelsen på bildet? <em>(Anbefales)</em>"
@@ -3,31 +3,31 @@ nl:
3
3
  plugins:
4
4
  refinery_images:
5
5
  title: Afbeeldingen
6
+ description: Afbeeldingen beheren
6
7
  admin:
7
8
  images:
8
- delete: Verwijder deze afbeelding permanent
9
- edit: Bewerk deze afbeelding
9
+ delete: Deze afbeelding definitief verwijderen
10
+ edit: Deze afbeelding bewerken
10
11
  form:
11
12
  image: Afbeelding
12
- use_current_image: Gebruik huidige afbeelding
13
+ use_current_image: Huidige afbeelding gebruiken
13
14
  or: of
14
- replace_image: Vervang de afbeelding door deze
15
+ replace_image: " vervangen door deze..."
15
16
  current_image: Huidige afbeelding
16
- maximum_image_size: "The maximum image size is %{bytes}."
17
+ maximum_image_size: De maximale afbeeldingssgrootte is %{bytes}.
17
18
  actions:
18
- create_new_image: Upload een nieuwe afbeelding
19
+ create_new_image: Nieuwe afbeelding toevoegen
19
20
  records:
20
- no_images_yet: Er zijn nog geen afbeeldingen. Klik op "Upload een nieuwe afbeelding" om uw eerste afbleelding toe te voegen.
21
+ no_images_yet: Er zijn nog geen afbeeldingen. Klik op "Nieuwe afbeelding toevoegen" om uw eerste afbleelding toe te voegen.
21
22
  index:
22
23
  view:
23
- switch_to: Bekijk de %{view_name} versie
24
+ switch_to: De %{view_name}versie bekijken
24
25
  list: lijst
25
- grid: tabel
26
- grid_view:
27
- view_live_html: Bekijk deze afbeelding <br/><em>(opent een nieuw venster)</em>
26
+ grid: raster
27
+ view_live_html: Deze afbeelding bekijken <br/><em>Opent in een nieuw venster</em>
28
28
  existing_image:
29
29
  button_text: Invoegen
30
- resize_image: Schaal de afbeelding
30
+ resize_image: De afbeelding schalen?
31
31
  size: Grootte
32
32
  insert:
33
33
  existing_image: Bibliotheek
@@ -38,6 +38,6 @@ nl:
38
38
  errors:
39
39
  models:
40
40
  refinery/image:
41
- blank: U moet een afbeelding kiezen om te uploaden.
42
- too_big: Afbeeldingen mogen niet groter dan %{size} bytes zijn.
43
- incorrect_format: Uw afbeelding moet een JPG, PNG of GIF zijn.
41
+ blank: U moet een afbeelding kiezen om te uploaden
42
+ too_big: Afbeeldingen mogen niet groter dan %{size} bytes zijn
43
+ incorrect_format: Uw afbeelding moet een JPG, PNG of GIF zijn
@@ -25,8 +25,7 @@ pl:
25
25
  switch_to: Przełącz do widoku %{view_name}
26
26
  list: lista
27
27
  grid: siatka
28
- grid_view:
29
- view_live_html: Obejrzyj ten obraz <br/><em>Otwarcie w nowym oknie</em>
28
+ view_live_html: Obejrzyj ten obraz <br/><em>Otwarcie w nowym oknie</em>
30
29
  existing_image:
31
30
  button_text: Wstaw
32
31
  resize_image: Zmień rozmiar tego obrazu?
@@ -25,8 +25,7 @@ pt-BR:
25
25
  switch_to: Trocar para visão em %{view_name}
26
26
  list: lista
27
27
  grid: grade
28
- grid_view:
29
- view_live_html: "Ver esta imagem<br/><em>Abre em uma nova janela</em>"
28
+ view_live_html: "Ver esta imagem<br/><em>Abre em uma nova janela</em>"
30
29
  existing_image:
31
30
  button_text: Inserir
32
31
  resize_image: "Redimencionar a imagem?"
@@ -0,0 +1,44 @@
1
+ pt:
2
+ refinery:
3
+ plugins:
4
+ refinery_images:
5
+ title: "Imagens"
6
+ description: "Gerir imagens"
7
+ admin:
8
+ images:
9
+ delete: "Apagar esta imagem definitivamente"
10
+ edit: "Editar esta imagem"
11
+ form:
12
+ image: "Imagem"
13
+ use_current_image: "Usar imagem actual"
14
+ or: "ou"
15
+ replace_image: " substituir por esta..."
16
+ current_image: "Imagem actual"
17
+ maximum_image_size: "O tamanho máximo é %{bytes}."
18
+ actions:
19
+ create_new_image: Adicionar nova imagem
20
+ records:
21
+ no_images_yet: 'Ainda não existem imagens. Clique em "Adicionar nova imagem" para adicionar a primeira.'
22
+ index:
23
+ view:
24
+ switch_to: Mudar a disposição para %{view_name}
25
+ list: lista
26
+ grid: grelha
27
+ view_live_html: Ver esta imagem <br/><em>Abre uma nova janela</em>
28
+ existing_image:
29
+ button_text: Inserir
30
+ resize_image: Redimensionar esta imagem?
31
+ size: Tamanho
32
+ insert:
33
+ existing_image: Imagem existente
34
+ new_image: Carregar nova imagem
35
+ activerecord:
36
+ models:
37
+ refinery/image: Imagem
38
+ errors:
39
+ models:
40
+ refinery/image:
41
+ blank: "Deve especificar uma imagem para carregar "
42
+ too_big: "A imagem deve ser menor do que %{size} bytes de tamanho"
43
+ incorrect_format: 'A imagem deve ser num dos seguintes formatos: JPG, PNG ou GIF'
44
+ different_file_name: A nova imagem não pode ter um nome diferente
@@ -24,8 +24,7 @@ rs:
24
24
  switch_to: Prebaci na %{view_name}
25
25
  list: listu
26
26
  grid: mrežni prikaz
27
- grid_view:
28
- view_live_html: Pogledaj ovu sliku <br/><em>Otvara se u novom prozoru</em>
27
+ view_live_html: Pogledaj ovu sliku <br/><em>Otvara se u novom prozoru</em>
29
28
  existing_image:
30
29
  button_text: Unesi
31
30
  resize_image: Promeni veličinu slike?
@@ -24,8 +24,7 @@ ru:
24
24
  switch_to: Показать %{view_name}
25
25
  list: списком
26
26
  grid: сеткой
27
- grid_view:
28
- view_live_html: Показать это изображение <br/><em>Откроется в новом окне</em>
27
+ view_live_html: Показать это изображение <br/><em>Откроется в новом окне</em>
29
28
  existing_image:
30
29
  button_text: Вставить
31
30
  resize_image: Изменить размер изображения?
@@ -24,8 +24,7 @@ sk:
24
24
  switch_to: Prepnúť pohľad na %{view_name}
25
25
  list: zoznam
26
26
  grid: tabuľka
27
- grid_view:
28
- view_live_html: Zobraziť obrázok. <br/><em>Otvorí sa v novom okne.</em>
27
+ view_live_html: Zobraziť obrázok. <br/><em>Otvorí sa v novom okne.</em>
29
28
  existing_image:
30
29
  button_text: Vložiť
31
30
  resize_image: Upraviť veľkosť?
@@ -42,4 +41,4 @@ sk:
42
41
  blank: Musíte zadať obrázok ktorý chcete nahrať.
43
42
  too_big: Maximálna veľkosť obrázku %{size}MB in size.
44
43
  incorrect_format: 'Obrázok musí byť vo formáte JPG, PNG alebo GIF.'
45
- different_file_name: Nový obrázok nesmie mať odlišný názov súboru
44
+ different_file_name: Nový obrázok nesmie mať odlišný názov súboru
@@ -23,8 +23,7 @@ sl:
23
23
  switch_to: Preklopi pogled v %{view_name}
24
24
  list: seznam
25
25
  grid: mrežo
26
- grid_view:
27
- view_live_html: Poglej sliko <br/><em>Odpre se v novem oknu</em>
26
+ view_live_html: Poglej sliko <br/><em>Odpre se v novem oknu</em>
28
27
  existing_image:
29
28
  button_text: Vstavi
30
29
  resize_image: Spremeni velikost slike?
@@ -24,8 +24,7 @@ sv:
24
24
  switch_to: Byt till %{view_name} vyn
25
25
  list: lista
26
26
  grid: rutnät
27
- grid_view:
28
- view_live_html: Visa den här bilden <br/><em>Öppnas i nytt fönster</em>
27
+ view_live_html: Visa den här bilden <br/><em>Öppnas i nytt fönster</em>
29
28
  existing_image:
30
29
  button_text: Klistra in
31
30
  resize_image: Ändra storlek på bilden?
@@ -0,0 +1,44 @@
1
+ tr:
2
+ refinery:
3
+ plugins:
4
+ refinery_images:
5
+ title: Resimler
6
+ description: Resimleri Yonet
7
+ admin:
8
+ images:
9
+ delete: Bu resim dosyasini sonsuza dek sil.
10
+ edit: Bu resmi duzenle
11
+ form:
12
+ image: Resim
13
+ use_current_image: Varolan resmi kullan
14
+ or: veya
15
+ replace_image: " Bununla degisiklik yap .."
16
+ current_image: Mevcut Resim
17
+ maximum_image_size: "Maksimum resim boyutu %{bytes}."
18
+ actions:
19
+ create_new_image: Yeni Resim Ekle
20
+ records:
21
+ no_images_yet:Henuz bir resim yok. "Yeni Resim Ekle" ye basarak ilk resminizi ekleyin.
22
+ index:
23
+ view:
24
+ switch_to: "%{view_name} gorunumu ac"
25
+ list: Liste
26
+ grid: Izgara
27
+ view_live_html: Bu Resmi goruntule <br/><em>yeni bir pencerede acar</em>
28
+ existing_image:
29
+ button_text: Cikart
30
+ resize_image: Resimi yeniden boyutlandir?
31
+ size: Ebat
32
+ insert:
33
+ existing_image: Kutuphane
34
+ new_image: Yukle
35
+ activerecord:
36
+ models:
37
+ refinery/image: "resim"
38
+ errors:
39
+ models:
40
+ refinery/image:
41
+ blank: Yukleme yapabilmek icin bir resim belirtmeniz gerekmektedir
42
+ too_big: "Resim %{size} den daha kucuk boyutta olmalidir"
43
+ incorrect_format: 'Sectiginiz secmin formati JPG, PNG, GIF olmak zorunda'
44
+ different_file_name: Yeni resim baska bir dosya ismi iceremez
@@ -0,0 +1,44 @@
1
+ uk:
2
+ refinery:
3
+ plugins:
4
+ refinery_images:
5
+ title: Зображення
6
+ description: Управління зображеннями
7
+ article: neuter
8
+ admin:
9
+ images:
10
+ delete: Видалити це зображення назавжди
11
+ edit: Редагувати це зображення
12
+ form:
13
+ image: Зображення
14
+ use_current_image: Використовувати поточне зображення
15
+ or: або
16
+ replace_image: " замінити його цим"
17
+ current_image: Поточне зображення
18
+ maximum_image_size: "Максимальний розмір зображення — %{bytes}."
19
+ actions:
20
+ create_new_image: Створити нове зображення
21
+ records:
22
+ no_images_yet: "Зображень поки що немає. Натисніть «Створити нове зображення», щоб додати зображення."
23
+ index:
24
+ view:
25
+ switch_to: Показати %{view_name}
26
+ list: списком
27
+ grid: сіткою
28
+ view_live_html: Показати це зображення <br/><em>Відкриється в новому вікні</em>
29
+ existing_image:
30
+ button_text: Вставити
31
+ resize_image: Змінити розмір зображення?
32
+ size: Розмір
33
+ insert:
34
+ existing_image: Існуюче зображення
35
+ new_image: Нове зображення
36
+ activerecord:
37
+ models:
38
+ refinery/image: зображення
39
+ errors:
40
+ models:
41
+ refinery/image:
42
+ blank: Ви повинні вибрати файл для завантаження
43
+ too_big: "Розмір файлу повинен бути меншим за %{size} МБ"
44
+ incorrect_format: "Ваше зображення може бути тільки у форматах JPG, PNG чи GIF"
@@ -24,8 +24,7 @@ vi:
24
24
  switch_to: Đổi sang kiểu xem %{view_name}
25
25
  list: danh sách
26
26
  grid: lưới
27
- grid_view:
28
- view_live_html: Xem ảnh này <br/><em>Mở trong cửa sổ mới</em>
27
+ view_live_html: Xem ảnh này <br/><em>Mở trong cửa sổ mới</em>
29
28
  existing_image:
30
29
  button_text: Chèn
31
30
  resize_image: Đổi kích thước ảnh?
@@ -24,8 +24,7 @@ zh-CN:
24
24
  switch_to: 切换到 %{view_name} 视图
25
25
  list: 列表
26
26
  grid: 表格
27
- grid_view:
28
- view_live_html: 查看此图片 <br/><em>新窗口打开</em>
27
+ view_live_html: 查看此图片 <br/><em>新窗口打开</em>
29
28
  existing_image:
30
29
  button_text: 插入
31
30
  resize_image: 调整图片尺寸?
@@ -39,6 +38,6 @@ zh-CN:
39
38
  errors:
40
39
  models:
41
40
  refinery/image:
42
- blank: 你必须选择一个图片来上传
41
+ blank: 您没有选择图片,无法上传。
43
42
  too_big: 图片应该小于 %{size} MB 大小
44
- incorrect_format: '你的图片必须是JPG, PNG 或者 GIF'
43
+ incorrect_format: '图片格式必须是JPG, PNG 或者 GIF'
@@ -24,8 +24,7 @@ zh-TW:
24
24
  switch_to: 切換到%{view_name}模式
25
25
  list: 列表
26
26
  grid: 格狀
27
- grid_view:
28
- view_live_html: 瀏覽圖片 <br/><em>在新視窗中開啟</em>
27
+ view_live_html: 瀏覽圖片 <br/><em>在新視窗中開啟</em>
29
28
  existing_image:
30
29
  button_text: 插入
31
30
  resize_image: 調整圖片大小?
data/config/routes.rb CHANGED
@@ -1,7 +1,7 @@
1
- Refinery::Core::Engine.routes.prepend do
2
- match '/system/images/*dragonfly', :to => Dragonfly[:refinery_images]
1
+ Refinery::Core::Engine.routes.draw do
2
+ get '/system/images/*dragonfly', :to => Dragonfly[:refinery_images]
3
3
 
4
- namespace :admin, :path => 'refinery' do
4
+ namespace :admin, :path => Refinery::Core.backend_route do
5
5
  resources :images, :except => :show do
6
6
  get :insert, :on => :collection
7
7
  end
@@ -0,0 +1,9 @@
1
+ class RemoveImageExtFromRefineryImages < ActiveRecord::Migration
2
+ def up
3
+ remove_column :refinery_images, :image_ext
4
+ end
5
+
6
+ def down
7
+ add_column :refinery_images, :image_ext, :string
8
+ end
9
+ end
@@ -31,7 +31,7 @@ Refinery::Images.configure do |config|
31
31
  # config.s3_bucket_name = ENV['S3_BUCKET']
32
32
  # config.s3_access_key_id = ENV['S3_KEY']
33
33
  # config.s3_secret_access_key = ENV['S3_SECRET']
34
- # config.s3_region = ENV['S3_REGION]
34
+ # config.s3_region = ENV['S3_REGION']
35
35
 
36
36
  # Configure Dragonfly
37
37
  # This is where in the middleware stack to insert the Dragonfly middleware
@@ -39,7 +39,13 @@ Refinery::Images.configure do |config|
39
39
  # config.dragonfly_secret = <%= Refinery::Images.dragonfly_secret.inspect %>
40
40
  # If you decide to trust file extensions replace :ext below with :format
41
41
  # config.dragonfly_url_format = <%= Refinery::Images.dragonfly_url_format.inspect %>
42
+ # config.dragonfly_url_host = <%= Refinery::Images.dragonfly_url_host.inspect %>
42
43
  # config.datastore_root_path = <%= Refinery::Images.datastore_root_path.inspect %>
43
44
  # config.trust_file_extensions = <%= Refinery::Images.trust_file_extensions.inspect %>
44
45
 
46
+ # Configure Dragonfly custom storage backend
47
+ # The custom_backend setting by default defers to the core setting for this but can be set just for images.
48
+ # config.custom_backend_class = <%= Refinery::Images.custom_backend_class.inspect %>
49
+ # config.custom_backend_opts = <%= Refinery::Images.custom_backend_opts.inspect %>
50
+
45
51
  end
@@ -2,18 +2,20 @@ module Refinery
2
2
  module Images
3
3
  include ActiveSupport::Configurable
4
4
 
5
- config_accessor :dragonfly_insert_before, :dragonfly_secret, :dragonfly_url_format,
5
+ config_accessor :dragonfly_insert_before, :dragonfly_secret, :dragonfly_url_format, :dragonfly_url_host,
6
6
  :max_image_size, :pages_per_dialog, :pages_per_admin_index,
7
7
  :pages_per_dialog_that_have_size_options, :user_image_sizes,
8
8
  :image_views, :preferred_image_view, :datastore_root_path,
9
9
  :s3_backend, :s3_bucket_name, :s3_region,
10
10
  :s3_access_key_id, :s3_secret_access_key, :trust_file_extensions,
11
- :whitelisted_mime_types
11
+ :whitelisted_mime_types,
12
+ :custom_backend_class, :custom_backend_opts
12
13
 
13
14
  self.dragonfly_insert_before = 'ActionDispatch::Callbacks'
14
- self.dragonfly_secret = Refinery::Core.dragonfly_secret
15
+ self.dragonfly_secret = Core.dragonfly_secret
15
16
  # If you decide to trust file extensions replace :ext below with :format
16
17
  self.dragonfly_url_format = '/system/images/:job/:basename.:ext'
18
+ self.dragonfly_url_host = ''
17
19
  self.trust_file_extensions = false
18
20
 
19
21
  self.max_image_size = 5242880
@@ -39,23 +41,35 @@ module Refinery
39
41
  end
40
42
 
41
43
  def s3_backend
42
- config.s3_backend.nil? ? Refinery::Core.s3_backend : config.s3_backend
44
+ config.s3_backend.presence || Core.s3_backend
43
45
  end
44
46
 
45
47
  def s3_bucket_name
46
- config.s3_bucket_name.nil? ? Refinery::Core.s3_bucket_name : config.s3_bucket_name
48
+ config.s3_bucket_name.presence || Core.s3_bucket_name
47
49
  end
48
50
 
49
51
  def s3_access_key_id
50
- config.s3_access_key_id.nil? ? Refinery::Core.s3_access_key_id : config.s3_access_key_id
52
+ config.s3_access_key_id.presence || Core.s3_access_key_id
51
53
  end
52
54
 
53
55
  def s3_secret_access_key
54
- config.s3_secret_access_key.nil? ? Refinery::Core.s3_secret_access_key : config.s3_secret_access_key
56
+ config.s3_secret_access_key.presence || Core.s3_secret_access_key
55
57
  end
56
58
 
57
59
  def s3_region
58
- config.s3_region.nil? ? Refinery::Core.s3_region : config.s3_region
60
+ config.s3_region.presence || Core.s3_region
61
+ end
62
+
63
+ def custom_backend?
64
+ config.custom_backend_class.nil? ? Core.dragonfly_custom_backend? : config.custom_backend_class.present?
65
+ end
66
+
67
+ def custom_backend_class
68
+ config.custom_backend_class.nil? ? Core.dragonfly_custom_backend_class : config.custom_backend_class.constantize
69
+ end
70
+
71
+ def custom_backend_opts
72
+ config.custom_backend_opts.presence || Core.dragonfly_custom_backend_opts
59
73
  end
60
74
 
61
75
  end