Skip to content

Commit 4e9f20a

Browse files
committed
use asset pipeline for image fallbacks
1 parent 8b868aa commit 4e9f20a

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

app/models/concerns/has_image_uploads.rb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,34 @@ module HasImageUploads
99
# todo: destroy from s3 on destroy
1010

1111
def public_image_uploads
12-
self.image_uploads.where(privacy: 'public').presence || ["card-headers/#{self.class.name.downcase.pluralize}.jpg"]
12+
self.image_uploads.where(privacy: 'public').presence || [header_asset_for(self.class.name)]
1313
end
1414

1515
def private_image_uploads
16-
self.image.uploads.where(privacy: 'private').presence || ["card-headers/#{self.class.name.downcase.pluralize}.jpg"]
16+
self.image.uploads.where(privacy: 'private').presence || [header_asset_for(self.class.name)]
1717
end
1818

1919
def random_image_including_private(format: :medium)
2020
@random_image_including_private_cache ||= {}
2121
key = self.class.name + self.id.to_s
2222
return @random_image_including_private_cache[key] if @random_image_including_private_cache.key?(key)
2323

24-
result = image_uploads.sample.try(:src, format).presence || "card-headers/#{self.class.name.downcase.pluralize}.jpg"
24+
result = image_uploads.sample.try(:src, format).presence || header_asset_for(self.class.name)
2525
@random_image_including_private_cache[key] = result
2626

2727
result
2828
end
2929

3030
def first_public_image(format: :medium)
31-
public_image_uploads.first.try(:src, format).presence || "card-headers/#{self.class.name.downcase.pluralize}.jpg"
31+
public_image_uploads.first.try(:src, format).presence || header_asset_for(self.class.name)
3232
end
3333

3434
def random_public_image(format: :medium)
35-
public_image_uploads.sample.try(:src, format).presence || "card-headers/#{self.class.name.downcase.pluralize}.jpg"
35+
public_image_uploads.sample.try(:src, format).presence || header_asset_for(self.class.name)
36+
end
37+
38+
def header_asset_for(class_name)
39+
ActionController::Base.helpers.asset_path("card-headers/#{class_name.downcase.pluralize}.jpg")
3640
end
3741
end
3842
end

0 commit comments

Comments
 (0)