Sha256: 44a685f6b758bdc4ee2dfb856932df354f47c01dbf61bb1b259e9f38e9df9db1

Contents?: true

Size: 1.16 KB

Versions: 4

Compression:

Stored size: 1.16 KB

Contents

# frozen_string_literal: true
require 'agave/utils/meta_tags/title'
require 'agave/utils/meta_tags/description'
require 'agave/utils/meta_tags/image'
require 'agave/utils/meta_tags/robots'
require 'agave/utils/meta_tags/og_locale'
require 'agave/utils/meta_tags/og_type'
require 'agave/utils/meta_tags/og_site_name'
require 'agave/utils/meta_tags/article_modified_time'
require 'agave/utils/meta_tags/article_publisher'
require 'agave/utils/meta_tags/twitter_card'
require 'agave/utils/meta_tags/twitter_site'

module Agave
  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

4 entries across 4 versions & 1 rubygems

Version Path
agave-client-0.1.3 lib/agave/utils/seo_tags_builder.rb
agave-client-0.1.2 lib/agave/utils/seo_tags_builder.rb
agave-client-0.1.1 lib/agave/utils/seo_tags_builder.rb
agave-client-0.1.0 lib/agave/utils/seo_tags_builder.rb