Class FeedParser::RSSItem
In: lib/feedparser/feedparser.rb
Parent: FeedItem
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/html-output.rb lib/feedparser/sgml-parser.rb lib/feedparser/html2text-parser.rb FeedParser Module: FeedParser

Methods

parse  

Public Instance methods

[Source]

     # File lib/feedparser/feedparser.rb, line 137
137:     def parse(item)
138:       # Title. If no title, use the pubDate as fallback.
139:       if ((e = item.elements['title'] || item.elements['rss:title']) &&
140:           e.text)  ||
141:           ((e = item.elements['pubDate'] || item.elements['rss:pubDate']) &&
142:            e.text)
143:         @title = e.text.toUTF8(@feed.encoding).rmWhiteSpace!
144:       end
145:       # Link
146:       if ((e = item.elements['link'] || item.elements['rss:link']) && e.text)||
147:           (e = item.elements['guid'] || item.elements['rss:guid'] and
148:           not (e.attribute('isPermaLink') and
149:           e.attribute('isPermaLink').value == 'false'))
150:         @link = e.text.rmWhiteSpace!
151:       end
152:       # Content
153:       if (e = item.elements['content:encoded']) ||
154:         (e = item.elements['description'] || item.elements['rss:description'])
155:         @content = FeedParser::getcontent(e, @feed)
156:       end
157:       # Date
158:       if e = item.elements['dc:date'] || item.elements['pubDate'] || 
159:           item.elements['rss:pubDate']
160:         begin
161:           @date = Time::xmlschema(e.text)
162:         rescue
163:           begin
164:             @date = Time::rfc2822(e.text)
165:           rescue
166:             begin
167:               @date = Time::parse(e.text)
168:             rescue
169:               @date = nil
170:             end
171:           end
172:         end
173:       end
174:       # Creator
175:       @creator = @feed.creator
176:       if (e = item.elements['dc:creator'] || item.elements['author'] ||
177:           item.elements['rss:author']) && e.text
178:         @creator = e.text.toUTF8(@feed.encoding).rmWhiteSpace!
179:       end
180:       # Subject
181:       if (e = item.elements['dc:subject']) && e.text
182:         @subject = e.text.toUTF8(@feed.encoding).rmWhiteSpace!
183:       end
184:       # Category
185:       if (e = item.elements['dc:category'] || item.elements['category'] ||
186:           item.elements['rss:category']) && e.text
187:         @category = e.text.toUTF8(@feed.encoding).rmWhiteSpace!
188:       end
189:     end

[Validate]