media file: memoize expensive methods in subclasses.

This commit is contained in:
evazion
2020-05-27 14:31:39 -05:00
parent 84cd8540ab
commit f94c52478c
5 changed files with 7 additions and 4 deletions

View File

@@ -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

View File

@@ -54,5 +54,6 @@ class MediaFile::Flash < MediaFile
[width, height]
end
memoize :dimensions
end

View File

@@ -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

View File

@@ -88,5 +88,5 @@ class MediaFile::Ugoira < MediaFile
MediaFile.open(tempfile)
end
memoize :zipfile, :preview_frame
memoize :zipfile, :preview_frame, :dimensions
end

View File

@@ -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