Class FeedParser::FeedItem
In: lib/feedparser/text-output.rb
lib/feedparser/html-output.rb
lib/feedparser/feedparser.rb
Parent: Object
RuntimeError UnknownFeedTypeException FeedItem\n[lib/feedparser/feedparser.rb\nlib/feedparser/html-output.rb\nlib/feedparser/text-output.rb] AtomItem RSSItem SGMLParser HTML2TextParser Feed\n[lib/feedparser/feedparser.rb\nlib/feedparser/html-output.rb\nlib/feedparser/text-output.rb] lib/feedparser/feedparser.rb lib/feedparser/sgml-parser.rb lib/feedparser/html2text-parser.rb FeedParser Module: FeedParser

an Item from a feed

Methods

new   parse   to_html   to_s   to_text  

Attributes

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

Public Class methods

[Source]

     # 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

Public Instance methods

[Source]

     # File lib/feedparser/feedparser.rb, line 134
134:     def parse(item)
135:       raise "parse() should be implemented by subclasses!"
136:     end

[Source]

    # 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

[Source]

     # 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

[Source]

    # 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

[Validate]