Sha256: 1a0c4f99a875fb9626079897110b61d9cbb7439ff340f6cbdf66c76ff5239843
Contents?: true
Size: 716 Bytes
Versions: 4
Compression:
Stored size: 716 Bytes
Contents
require 'uri' require 'dimscan/http_byte_enumerator' require 'mini_magick' require 'abstractize' module Dimscan # The abstract base class class BaseScanner include Abstractize def initialize(url) @bytes = HTTPByteEnumerator.new(url) @fallback_file = `mktemp`.chomp end def scan_dimensions dimensions = nil File.open(@fallback_file, 'wb') do |file| dimensions = scan(@bytes.each) { |b| file.write(b) } end width, height = ( dimensions || MiniMagick::Image.new(@fallback_file).dimensions ) { width: width, height: height } end protected def scan(_bytes) fail AbstractError, 'not implemented' end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
dimscan-0.2.1 | lib/dimscan/base_scanner.rb |
dimscan-0.2.0 | lib/dimscan/base_scanner.rb |
dimscan-0.1.1 | lib/dimscan/base_scanner.rb |
dimscan-0.1.0 | lib/dimscan/base_scanner.rb |