Class: FeedParser::Parser
- Inherits:
-
Object
- Object
- FeedParser::Parser
- Includes:
- LogUtils::Logging
- Defined in:
- lib/feedparser/parser.rb
Class Method Summary collapse
-
.parse(xml, opts = {}) ⇒ Object
convenience class/factory method.
Instance Method Summary collapse
-
#initialize(xml) ⇒ Parser
constructor
Note: lets keep/use same API as RSS::Parser for now.
- #parse ⇒ Object
Constructor Details
#initialize(xml) ⇒ Parser
Note: lets keep/use same API as RSS::Parser for now
16 17 18 |
# File 'lib/feedparser/parser.rb', line 16 def initialize( xml ) @xml = xml end |
Class Method Details
.parse(xml, opts = {}) ⇒ Object
convenience class/factory method
11 12 13 |
# File 'lib/feedparser/parser.rb', line 11 def self.parse( xml, opts={} ) self.new( xml ).parse end |
Instance Method Details
#parse ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/feedparser/parser.rb', line 21 def parse logger.debug "using stdlib rss/#{RSS::VERSION}" parser = RSS::Parser.new( @xml ) parser.do_validate = false parser.ignore_unknown_element = true logger.debug "Parsing feed..." feed_wild = parser.parse # not yet normalized logger.debug " feed.class=#{feed_wild.class.name}" if feed_wild.is_a?( RSS::Atom::Feed ) feed = AtomFeedBuilder.build( feed_wild ) else # -- assume RSS::Rss::Feed feed = RssFeedBuilder.build( feed_wild ) end logger.debug "== #{feed.format} / #{feed.title} ==" feed # return new (normalized) feed end |