class SocialCatalog::Formats::FacebookCatalog

Facebook RSS Feed developers.facebook.com/docs/marketing-api/catalog/reference/#product-categories

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/social_catalog/formats/facebook_catalog.rb, line 9
def initialize
  super
end

Public Instance Methods

call(&block) click to toggle source

@param [Proc] block @return [String]

# File lib/social_catalog/formats/facebook_catalog.rb, line 15
def call(&block)
  Rails.cache.fetch('social-catalog:facebook',
                    expires_in: SocialCatalog.expires_in) do
    full_host = SocialCatalog.base_url

    builder = Nokogiri::XML::Builder.new do |xml|
      xml.rss('xmlns:g' => 'http://base.google.com/ns/1.0',
              'xmlns:atom' => 'http://www.w3.org/2005/Atom',
              'version' => '2.0') do
        xml.channel do
          xml.title       SocialCatalog.title
          xml.description SocialCatalog.description
          xml.link        SocialCatalog.base_url
          xml['atom'].link rel: 'self',
                           href: "#{full_host}/#{SocialCatalog.url_prefix}/facebook.xml",
                           type: 'application/rss+xml'

          block.call(xml, 'g')
        end
      end
    end

    builder.to_xml
  end
end