Class FeedParser::AtomItem
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 193
193:     def parse(item)
194:       # Title
195:       if (e = item.elements['title']) && e.text
196:         @title = e.text.toUTF8(@feed.encoding).rmWhiteSpace!
197:       end
198:       # Link
199:       item.each_element('link') do |e|
200:         if e.attribute('type').value == 'text/html' or
201:           e.attribute('type').value == 'application/xhtml' or
202:           e.attribute('type').value == 'application/xhtml+xml'
203:           if (h = e.attribute('href')) && h.value
204:             @link = h.value
205:           end
206:         end
207:       end
208:       # Content
209:       if e = item.elements['content'] || item.elements['summary']
210:         if (e.attribute('mode') and e.attribute('mode').value == 'escaped') &&
211:           e.text
212:           @content = e.text.toUTF8(@feed.encoding).rmWhiteSpace!
213:         else
214:           @content = FeedParser::getcontent(e, @feed)
215:         end
216:       end
217:       # Date
218:       if (e = item.elements['issued'] || e = item.elements['created']) && e.text
219:         begin
220:           @date = Time::xmlschema(e.text)
221:         rescue
222:           begin
223:             @date = Time::rfc2822(e.text)
224:           rescue
225:             begin
226:               @date = Time::parse(e.text)
227:             rescue
228:               @date = nil
229:             end
230:           end
231:         end
232:       end
233:       # Creator
234:       @creator = @feed.creator
235:       if (e = item.elements['author/name']) && e.text
236:         @creator = e.text.toUTF8(@feed.encoding).rmWhiteSpace!
237:       end
238:     end

[Validate]