Sha256: fbebfe7feda49369b24b1e50e5e53ba2636c36e635d172076631a57a29ede366

Contents?: true

Size: 1.15 KB

Versions: 3

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

require "dato/utils/meta_tags/title"
require "dato/utils/meta_tags/description"
require "dato/utils/meta_tags/image"
require "dato/utils/meta_tags/robots"
require "dato/utils/meta_tags/og_locale"
require "dato/utils/meta_tags/og_type"
require "dato/utils/meta_tags/og_site_name"
require "dato/utils/meta_tags/article_modified_time"
require "dato/utils/meta_tags/article_publisher"
require "dato/utils/meta_tags/twitter_card"
require "dato/utils/meta_tags/twitter_site"

module Dato
  module Utils
    class SeoTagsBuilder
      META_TAGS = [
        MetaTags::Title,
        MetaTags::Description,
        MetaTags::Image,
        MetaTags::Robots,
        MetaTags::OgLocale,
        MetaTags::OgType,
        MetaTags::OgSiteName,
        MetaTags::ArticleModifiedTime,
        MetaTags::ArticlePublisher,
        MetaTags::TwitterCard,
        MetaTags::TwitterSite,
      ].freeze

      attr_reader :site, :item

      def initialize(item, site)
        @item = item
        @site = site
      end

      def meta_tags
        META_TAGS.map do |klass|
          klass.new(item, site).build
        end.flatten.compact
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dato-0.8.3 lib/dato/utils/seo_tags_builder.rb
dato-0.8.2 lib/dato/utils/seo_tags_builder.rb
dato-0.8.1 lib/dato/utils/seo_tags_builder.rb