| Class | FeedParser::FeedItem |
| In: |
lib/feedparser/text-output.rb
lib/feedparser/html-output.rb lib/feedparser/feedparser.rb |
| Parent: | Object |
| cacheditem | [RW] | |
| category | [RW] | |
| content | [RW] | |
| creator | [RW] | |
| date | [RW] | |
| feed | [R] | |
| link | [RW] | |
| subject | [RW] | |
| title | [RW] | |
| xml | [R] | REXML::Element for this item |
# File lib/feedparser/feedparser.rb, line 127
127: def initialize(item = nil, feed = nil)
128: @xml = item
129: @feed = feed
130: @title, @link, @content, @date, @creator, @subject, @category = nil
131: parse(item) if item
132: end
# File lib/feedparser/feedparser.rb, line 134
134: def parse(item)
135: raise "parse() should be implemented by subclasses!"
136: end
# File lib/feedparser/html-output.rb, line 27
27: def to_html
28: s = "<p>Feed: "
29: s += "<a href=\"#{@feed.link}\">\n" if @feed.link
30: s += "#{@feed.title}\n" if @feed.title
31: s += "</a>\n" if @feed.link
32: s += "<br/>\nItem: "
33: s += "<a href=\"#{@link}\">\n" if @link
34: s += "#{@title}\n" if @title
35: s += "</a>\n" if @link
36: s += "\n"
37: s += "<br/>Date: #{@date.to_s}\n" if @date # TODO improve date rendering ?
38: s += "<br/>Author: #{@creator}\n" if @creator
39: s += "<br/>Subject: #{@subject}\n" if @subject
40: s += "<br/>Category: #{@category}\n" if @category
41: s += "</p>\n"
42: s += "#{@content}" if @content
43: s += '</body></html>'
44: s
45: end
# File lib/feedparser/feedparser.rb, line 138
138: def to_s
139: s = "--------------------------------\n" +
140: "Title: #{@title}\nLink: #{@link}\n" +
141: "Date: #{@date.to_s}\nCreator: #{@creator}\n" +
142: "Subject: #{@subject}\nCategory: #{@category}\nContent:\n#{content}\n"
143: if defined?(@enclosures) and @enclosures.length > 0
144: s2 = "Enclosures:\n"
145: @enclosures.each do |e|
146: s2 += e.join(' ') + "\n"
147: end
148: s += s2
149: end
150: return s
151: end
# File lib/feedparser/text-output.rb, line 49
49: def to_text
50: s = ""
51: s += "Feed: "
52: s += @feed.title + ' ' if @feed.title
53: s += "<#{@feed.link}>" if @feed.link
54: s += "\n"
55: s += "Item: "
56: s += @title + ' ' if @title
57: s += "<#{@link}>" if @link
58: s += "\n"
59: # TODO improve date rendering ?
60: s += "\nDate: #{@date.to_s}" if @date
61: s += "\nAuthor: #{@creator}" if @creator
62: s += "\nSubject: #{@subject}" if @subject
63: s += "\nCategory: #{@category}" if @category
64: s += "\n\n"
65: s += "#{@content.html2text}" if @content
66: s
67: end