media file: memoize expensive methods in subclasses.
This commit is contained in:
@@ -113,5 +113,5 @@ class MediaFile
|
||||
nil
|
||||
end
|
||||
|
||||
memoize :dimensions, :file_ext, :file_size, :md5, :is_corrupt?, :is_animated?
|
||||
memoize :file_ext, :file_size, :md5
|
||||
end
|
||||
|
||||
@@ -54,5 +54,6 @@ class MediaFile::Flash < MediaFile
|
||||
|
||||
[width, height]
|
||||
end
|
||||
|
||||
memoize :dimensions
|
||||
end
|
||||
|
||||
@@ -63,6 +63,8 @@ class MediaFile::Image < MediaFile
|
||||
end
|
||||
|
||||
def image
|
||||
@image ||= Vips::Image.new_from_file(file.path, fail: true)
|
||||
Vips::Image.new_from_file(file.path, fail: true)
|
||||
end
|
||||
|
||||
memoize :image, :dimensions, :is_corrupt?, :is_animated_gif?, :is_animated_png?
|
||||
end
|
||||
|
||||
@@ -88,5 +88,5 @@ class MediaFile::Ugoira < MediaFile
|
||||
MediaFile.open(tempfile)
|
||||
end
|
||||
|
||||
memoize :zipfile, :preview_frame
|
||||
memoize :zipfile, :preview_frame, :dimensions
|
||||
end
|
||||
|
||||
@@ -31,5 +31,5 @@ class MediaFile::Video < MediaFile
|
||||
MediaFile.open(vp.path)
|
||||
end
|
||||
|
||||
memoize :video, :preview_frame
|
||||
memoize :video, :preview_frame, :dimensions, :duration, :has_audio?
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user