Sha256: d9f02dbe142db79b1e1688ebc4b8346751bcce1cbc21d80f10ff0ce3d7674679

Contents?: true

Size: 1 KB

Versions: 4

Compression:

Stored size: 1 KB

Contents

require 'link_thumbnailer/model'

module LinkThumbnailer
  module Models
    class Website < ::LinkThumbnailer::Model

      attr_accessor :url, :title, :description, :images, :videos, :favicon

      def initialize
        @images = []
        @videos = []
      end

      def video=(video)
        self.videos = video
      end

      def videos=(videos)
        Array(videos).each do |video|
          @videos << video
        end
      end

      def image=(image)
        self.images = image
      end

      def images=(images)
        Array(images).each do |image|
          next unless image.valid?
          @images << image
        end
      end

      def images
        @images.sort!
      end

      def as_json(*)
        {
          url:          url.to_s,
          favicon:      favicon,
          title:        title,
          description:  description,
          images:       images,
          videos:       videos
        }
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
link_thumbnailer-2.4.0 lib/link_thumbnailer/models/website.rb
link_thumbnailer-2.3.2 lib/link_thumbnailer/models/website.rb
link_thumbnailer-2.3.1 lib/link_thumbnailer/models/website.rb
link_thumbnailer-2.3.0 lib/link_thumbnailer/models/website.rb