summaryrefslogtreecommitdiff
path: root/lib/rss
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rss')
-rw-r--r--lib/rss/parser.rb9
-rw-r--r--lib/rss/rss.rb2
2 files changed, 4 insertions, 7 deletions
diff --git a/lib/rss/parser.rb b/lib/rss/parser.rb
index b7a76397b8..bf3b0b5d08 100644
--- a/lib/rss/parser.rb
+++ b/lib/rss/parser.rb
@@ -365,10 +365,10 @@ module RSS
def start_else_element(local, prefix, attrs, ns)
class_name = self.class.class_name(_ns(ns, prefix), local)
current_class = @last_element.class
- next_class = nil
- begin
+ if current_class.const_defined?(class_name)
next_class = current_class.const_get(class_name)
- rescue NameError
+ start_have_something_element(local, prefix, attrs, ns, next_class)
+ else
if !@do_validate or @ignore_unknown_element
@proc_stack.push(nil)
else
@@ -379,9 +379,6 @@ module RSS
raise NotExpectedTagError.new(local, _ns(ns, prefix), parent)
end
end
- if next_class
- start_have_something_element(local, prefix, attrs, ns, next_class)
- end
end
NAMESPLIT = /^(?:([\w:][-\w\d.]*):)?([\w:][-\w\d.]*)/
diff --git a/lib/rss/rss.rb b/lib/rss/rss.rb
index fb777b1d53..db507f78c8 100644
--- a/lib/rss/rss.rb
+++ b/lib/rss/rss.rb
@@ -53,7 +53,7 @@ require "rss/xml-stylesheet"
module RSS
- VERSION = "0.1.8"
+ VERSION = "0.1.9"
URI = "http://purl.org/rss/1.0/"