Sha256: 8736081a3c9e72c69db26e038b4758e6baf3e6a797e5d492a86194ea33cbae19

Contents?: true

Size: 859 Bytes

Versions: 18

Compression:

Stored size: 859 Bytes

Contents

# frozen_string_literal: true
require 'dato/utils/meta_tags/base'

module Dato
  module Utils
    module MetaTags
      class Image < Base
        def build
          return unless image

          [
            og_tag('og:image', image.url),
            card_tag('twitter:image', image.url)
          ]
        end

        def image
          @image ||= seo_field_with_fallback(:image, item_image)
        end

        def item_image
          item && item.fields
                      .select { |field| field.field_type == 'image' }
                      .map { |field| item.send(field.api_key) }
                      .compact
                      .find do |image|
                        image.width && image.height &&
                          image.width >= 200 && image.height >= 200
                      end
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
dato-0.4.3 lib/dato/utils/meta_tags/image.rb
dato-0.4.2 lib/dato/utils/meta_tags/image.rb
dato-0.4.1 lib/dato/utils/meta_tags/image.rb
dato-0.4.0 lib/dato/utils/meta_tags/image.rb
dato-0.3.31 lib/dato/utils/meta_tags/image.rb
dato-0.4.0.pre lib/dato/utils/meta_tags/image.rb
dato-0.3.30 lib/dato/utils/meta_tags/image.rb
dato-0.3.29 lib/dato/utils/meta_tags/image.rb
dato-0.3.28 lib/dato/utils/meta_tags/image.rb
dato-0.3.27 lib/dato/utils/meta_tags/image.rb
dato-0.3.26 lib/dato/utils/meta_tags/image.rb
dato-0.3.25 lib/dato/utils/meta_tags/image.rb
dato-0.3.24 lib/dato/utils/meta_tags/image.rb
dato-0.3.23 lib/dato/utils/meta_tags/image.rb
dato-0.3.22 lib/dato/utils/meta_tags/image.rb
dato-0.3.21 lib/dato/utils/meta_tags/image.rb
dato-0.3.20 lib/dato/utils/meta_tags/image.rb
dato-0.3.19 lib/dato/utils/meta_tags/image.rb