Sha256: b83853c86a4b856a9d7585e0da294fc74159d18b8495d8778d265516dea21202
Contents?: true
Size: 973 Bytes
Versions: 2
Compression:
Stored size: 973 Bytes
Contents
# frozen_string_literal: true require 'image_info' module LinkThumbnailer class ImageParser attr_reader :images def initialize(urls) @images = perform? ? image_info(urls) : default_images(urls) end def size images.first.size end def type images.first.type end private def default_images(urls) Array(urls).compact.map(&method(:build_default_image)) end def build_default_image(uri) NullImage.new(uri) end def perform? ::LinkThumbnailer.page.config.image_stats end def max_concurrency ::LinkThumbnailer.page.config.max_concurrency end def image_info(urls) ::ImageInfo.from(urls, max_concurrency: max_concurrency) rescue default_images(urls) end class NullImage attr_reader :uri def initialize(uri) @uri = uri end def size [0, 0] end def type end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
link_thumbnailer-3.4.0 | lib/link_thumbnailer/image_parser.rb |
link_thumbnailer-3.3.2 | lib/link_thumbnailer/image_parser.rb |