Class: SocialCatalog::Formats::FacebookCatalog

Inherits:
Object
  • Object
show all
Defined in:
lib/social_catalog/formats/facebook_catalog.rb

Overview

Facebook RSS Feed

Instance Method Summary collapse

Constructor Details

#initializeFacebookCatalog

Returns a new instance of FacebookCatalog.



7
8
9
# File 'lib/social_catalog/formats/facebook_catalog.rb', line 7

def initialize
  super
end

Instance Method Details

#call(&block) ⇒ String

Parameters:

  • block (Proc)

Returns:

  • (String)


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/social_catalog/formats/facebook_catalog.rb', line 13

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',
              'version' => '2.0') do
        xml.channel do
          xml.title       SocialCatalog.title
          xml.description SocialCatalog.description
          xml.link        rel: 'self', href: "#{full_host}/#{SocialCatalog.url_prefix}/facebook.xml"
          xml.id          "#{full_host}/"

          block.call(xml)
        end
      end
    end

    builder.to_xml
  end
end