Sha256: 11b4c0f8623ff06f3e0850ded8e06a16ffd10788dbb4f91d36757e59c4278c6a

Contents?: true

Size: 890 Bytes

Versions: 3

Compression:

Stored size: 890 Bytes

Contents

require 'murlsh'

module Murlsh

  # If document has meta or link media:thumbnail use it as the thumbnail.
  class AddPre50MediaThumbnail < Plugin

    @hook = 'add_pre'

    def self.run(url, config)
      if not url.thumbnail_url and url.ask.doc
        url.ask.doc.xpath_search(%w{
          //meta[@rel='media:thumbnail']
          //link[@rel='media:thumbnail']
          }) do |node|
          if node and not node['href'].to_s.empty?
            Murlsh::failproof do
              thumb_storage = Murlsh::ImgStore.new(config)

              stored_url = thumb_storage.store_url(node['href']) do |i|
                max_side = config.fetch('thumbnail_max_side', 90)
                i.extend(Murlsh::ImageList).resize_down!(max_side)
              end

              url.thumbnail_url = stored_url  if stored_url
            end
          end
        end
      end
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
murlsh-1.6.1 plugins/add_pre_50_media_thumbnail.rb
murlsh-1.6.0 plugins/add_pre_50_media_thumbnail.rb
murlsh-1.5.0 plugins/add_pre_50_media_thumbnail.rb