Class: RSS::Parser

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/rss/parser.rb

Constant Summary collapse

@@default_parser =
nil

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rss, parser_class = self.class.default_parser) ⇒ Parser

Returns a new instance of Parser.



87
88
89
# File 'lib/rss/parser.rb', line 87

def initialize(rss, parser_class=self.class.default_parser)
  @parser = parser_class.new(normalize_rss(rss))
end

Class Method Details

.default_parserObject



59
60
61
# File 'lib/rss/parser.rb', line 59

def default_parser
  @@default_parser || AVAILABLE_PARSERS.first
end

.default_parser=(new_value) ⇒ Object

Set @@default_parser to new_value if it is one of the available parsers. Else raise NotValidXMLParser error.



65
66
67
68
69
70
71
# File 'lib/rss/parser.rb', line 65

def default_parser=(new_value)
  if AVAILABLE_PARSERS.include?(new_value)
    @@default_parser = new_value
  else
    raise NotValidXMLParser.new(new_value)
  end
end

.parse(rss, do_validate = true, ignore_unknown_element = true, parser_class = default_parser) ⇒ Object



73
74
75
76
77
78
79
# File 'lib/rss/parser.rb', line 73

def parse(rss, do_validate=true, ignore_unknown_element=true,
          parser_class=default_parser)
  parser = new(rss, parser_class)
  parser.do_validate = do_validate
  parser.ignore_unknown_element = ignore_unknown_element
  parser.parse
end