Class: RSS::Parser

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

Constant Summary

@@default_parser =
nil

Constants included from Forwardable

Forwardable::FORWARDABLE_VERSION

Class Method Summary (collapse)

Instance Method Summary (collapse)

Methods included from Forwardable

def_instance_delegator, def_instance_delegators, instance_delegate

Constructor Details

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

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

+ (Object) default_parser



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

def default_parser
  @@default_parser || AVAILABLE_PARSERS.first
end

+ (Object) default_parser=(new_value)

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

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



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