Sha256: 2913dcfa5c07bc4144b42734ff40adac6b67a93974ce30d06d23bedc2a4cfe10
Contents?: true
Size: 1007 Bytes
Versions: 5
Compression:
Stored size: 1007 Bytes
Contents
require 'link_thumbnailer/model' require 'link_thumbnailer/image_parser' require 'link_thumbnailer/image_comparator' require 'link_thumbnailer/image_validator' module LinkThumbnailer module Models class Image < ::LinkThumbnailer::Model attr_reader :src, :type, :size def initialize(src) @src = src @size = parser.size(self) @type = parser.type(self) end def to_s src.to_s end def <=>(other) comparator.call(other) end def valid? validator.call end def as_json(*) { src: src.to_s, size: size, type: type } end private def parser ::LinkThumbnailer::ImageParser end def validator ::LinkThumbnailer::ImageValidator.new(self) end def comparator ::LinkThumbnailer::ImageComparator.new(self) end end end end
Version data entries
5 entries across 5 versions & 1 rubygems