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.



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

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

Class Method Details

.default_parserObject



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

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.



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

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



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

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