Sha256: 4abafa983eda62ea0c887d7ce5cc452fd2ea53cfd5cee4492546ea85bb38c759
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
# frozen_string_literal: true 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, size = nil, type = nil) @src = src @size = size || parser.size @type = type || parser.type 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 @parser ||= ::LinkThumbnailer::ImageParser.new(src) end def validator ::LinkThumbnailer::ImageValidator.new(self) end def comparator ::LinkThumbnailer::ImageComparator.new(self) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
link_thumbnailer-3.4.0 | lib/link_thumbnailer/models/image.rb |
link_thumbnailer-3.3.2 | lib/link_thumbnailer/models/image.rb |