Files
redux-scraper/app/lib/loaded_media/static_image.rb
2025-08-20 15:00:54 +00:00

30 lines
671 B
Ruby

# typed: strict
# frozen_string_literal: true
class LoadedMedia::StaticImage < LoadedMedia
sig { params(media_path: String).void }
def initialize(media_path)
@vips_image = T.let(Vips::Image.new_from_file(media_path), Vips::Image)
rescue Vips::Error => e
if e.message.include?("does not exist")
raise LoadedMedia::FileNotFound.new(e)
end
raise
end
sig { override.returns(Integer) }
def num_frames
1
end
sig do
override
.params(frame: Integer, path: String, options: ThumbnailOptions)
.void
end
def write_frame_thumbnail(frame, path, options)
write_image_thumbnail(@vips_image, path, options)
end
end