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

[Validate]