module Shutterstock class ImageAssets < Driver attr_reader :hash, :small_jpg, :medium_jpg, :huge_jpg, :supersize_jpg, :huge_tiff, :supersize_tiff, :vector_eps, :small_thumb, :large_thumb, :preview, :preview_1000, :preview_1500 def initialize(params = {}) @hash = params @small_jpg = ImageSizeDetails.new(params["small_jpg"]) if params["small_jpg"] # (ImageSizeDetails, optional), @medium_jpg = ImageSizeDetails.new(params["medium_jpg"]) if params["medium_jpg"] # (ImageSizeDetails, optional), @huge_jpg = ImageSizeDetails.new(params["huge_jpg"]) if params["huge_jpg"] # (ImageSizeDetails, optional), @supersize_jpg = ImageSizeDetails.new(params["supersize_jpg"]) if params["supersize_jpg"] # (ImageSizeDetails, optional), @huge_tiff = ImageSizeDetails.new(params["huge_tiff"]) if params["huge_tiff"] # (ImageSizeDetails, optional), @supersize_tiff = ImageSizeDetails.new(params["supersize_tiff"]) if params["supersize_tiff"] # (ImageSizeDetails, optional), @vector_eps = ImageSizeDetails.new(params["vector_eps"]) if params["vector_eps"] # (ImageSizeDetails, optional), @small_thumb = Thumbnail.new(params["small_thumb"]) if params["small_thumb"] # (Thumbnail, optional), @large_thumb = Thumbnail.new(params["large_thumb"]) if params["large_thumb"] # (Thumbnail, optional), @preview = Thumbnail.new(params["preview"]) if params["preview"] # (Thumbnail, optional), @preview_1000 = Thumbnail.new(params["preview_1000"]) if params["preview_1000"] # (Thumbnail, optional), @preview_1500 = Thumbnail.new(params["preview_1500"]) if params["preview_1500"] # (Thumbnail, optional) end alias_method :small, :small_jpg alias_method :medium, :medium_jpg alias_method :huge, :huge_jpg alias_method :supersize, :supersize_jpg def count @hash.keys.count end def largest_preview [preview_1500, preview_1000, preview].compact.first end def largest_jpg [supersize_jpg, huge_jpg, medium_jpg, small_jpg].compact.first end def largest_tiff [supersize_tiff, huge_tiff].compact.first end end end