Class RssFeed
In: app/models/rss_feed.rb
Parent: Article

Methods

Included Modules

ActionController::UrlWriter

Public Class methods

[Source]

     # File app/models/rss_feed.rb, line 108
108:   def self.description
109:     _('Provides a news feed of your more recent articles.')
110:   end

i dont know why before filter dont work here

[Source]

   # File app/models/rss_feed.rb, line 4
4:   def initialize(*args)
5:     super(*args)
6:     self.advertise = false
7:   end

[Source]

     # File app/models/rss_feed.rb, line 104
104:   def self.short_description
105:     _('RSS Feed')
106:   end

Public Instance methods

[Source]

    # File app/models/rss_feed.rb, line 12
12:   def body
13:     self[:body] ||= {}
14:   end

[Source]

     # File app/models/rss_feed.rb, line 62
 62:   def data
 63:     articles =
 64:       if (self.include == 'parent_and_children') && self.parent
 65:         self.parent.map_traversal
 66:       else
 67:         profile.recent_documents(self.limit || 10)
 68:       end
 69: 
 70: 
 71:     result = ""
 72:     xml = Builder::XmlMarkup.new(:target => result)
 73: 
 74:     xml.instruct! :xml, :version=>"1.0" 
 75:     xml.rss(:version=>"2.0") do
 76:       xml.channel do
 77:         xml.title(_("%s's RSS feed") % (self.profile.name))
 78:         xml.link(url_for(self.profile.url))
 79:         xml.description(_("%s's content published at %s") % [self.profile.name, self.profile.environment.name])
 80:         xml.language("pt_BR")
 81:         for article in articles
 82:           unless self == article
 83:             xml.item do
 84:               xml.title(article.name)
 85:               if self.feed_item_description == 'body'
 86:                 xml.description(article.body)
 87:               else
 88:                 xml.description(article.abstract)
 89:               end
 90:               # rfc822
 91:               xml.pubDate(article.created_at.rfc2822)
 92:               # link to article
 93:               xml.link(url_for(article.url))
 94:               xml.guid(url_for(article.url))
 95:             end
 96:           end
 97:         end
 98:       end
 99:     end
100: 
101:     result
102:   end

determinates what to include in the feed as items’ description. Possible values are +:body+ (default) and +:abstract+.

[Source]

    # File app/models/rss_feed.rb, line 44
44:   def feed_item_description
45:     settings[:feed_item_description]
46:   end

[Source]

    # File app/models/rss_feed.rb, line 47
47:   def feed_item_description=(value)
48:     settings[:feed_item_description] = value
49:   end

[Source]

     # File app/models/rss_feed.rb, line 112
112:   def icon_name
113:     'rss-feed'
114:   end

determinates what to include in the feed. Possible values are +:all+ (include everything from the profile) and :parent_and_children (include only articles that are siblings of the feed).

The feed itself is never included.

[Source]

    # File app/models/rss_feed.rb, line 34
34:   def include
35:     settings[:include]
36:   end

[Source]

    # File app/models/rss_feed.rb, line 37
37:   def include=(value)
38:     settings[:include] = value
39:   end

The maximum number of articles to be displayed in the RSS feed.

[Source]

    # File app/models/rss_feed.rb, line 18
18:   def limit
19:     settings[:limit]
20:   end

[Source]

    # File app/models/rss_feed.rb, line 21
21:   def limit=(value)
22:     settings[:limit] = value
23:   end

RSS feeds have type =text/xml=.

[Source]

    # File app/models/rss_feed.rb, line 57
57:   def mime_type
58:     'text/xml'
59:   end
settings()

Alias for body

TODO

[Source]

    # File app/models/rss_feed.rb, line 53
53:   def to_html
54:   end

[Validate]