Class FeedParser::AtomItem
In: lib/feedparser/feedparser.rb
Parent: FeedItem
dot/m_8_0.png

Methods

parse  

Public Instance methods

[Source]

     # File lib/feedparser/feedparser.rb, line 231
231:     def parse(item)
232:       # Title
233:       if (e = item.elements['title']) && e.text
234:         @title = e.text.unescape_html.toUTF8(@feed.encoding).html2text.rmWhiteSpace!
235:       end
236:       # Link
237:       item.each_element('link') do |e|
238:         if (h = e.attribute('href')) && h.value
239:           @link = h.value
240:         end
241:       end
242:       # Content
243:       if e = item.elements['content'] || item.elements['summary']
244:         if (e.attribute('mode') and e.attribute('mode').value == 'escaped') &&
245:           e.text
246:           @content = e.text.toUTF8(@feed.encoding).rmWhiteSpace!
247:         else
248:           @content = FeedParser::getcontent(e, @feed)
249:         end
250:       end
251:       # Date
252:       if (e = item.elements['issued'] || e = item.elements['created'] || e = item.elements['published']) && e.text
253:         begin
254:           @date = Time::xmlschema(e.text)
255:         rescue
256:           begin
257:             @date = Time::rfc2822(e.text)
258:           rescue
259:             begin
260:               @date = Time::parse(e.text)
261:             rescue
262:               @date = nil
263:             end
264:           end
265:         end
266:       end
267:       # Creator
268:       @creator = @feed.creator
269:       if (e = item.elements['author/name']) && e.text
270:         @creator = e.text.unescape_html.toUTF8(@feed.encoding).rmWhiteSpace!
271:       end
272:     end

[Validate]