| Class | RssFeed |
| In: |
app/models/rss_feed.rb
|
| Parent: | Article |
# 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
# File app/models/rss_feed.rb, line 4 4: def initialize(*args) 5: super(*args) 6: self.advertise = false 7: end
# 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+.
# File app/models/rss_feed.rb, line 44
44: def feed_item_description
45: settings[:feed_item_description]
46: end
# File app/models/rss_feed.rb, line 47
47: def feed_item_description=(value)
48: settings[:feed_item_description] = value
49: 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.
# File app/models/rss_feed.rb, line 34
34: def include
35: settings[:include]
36: end
# 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.
# File app/models/rss_feed.rb, line 18
18: def limit
19: settings[:limit]
20: end