aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--lib/rss/parser.rb9
-rw-r--r--lib/rss/rss.rb2
-rw-r--r--test/rss/test_version.rb2
4 files changed, 13 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 36d001a95e..cdd4e87533 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Tue Aug 14 00:04:27 2007 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb: 0.1.8 -> 0.1.9.
+ * test/rss/test_version.rb: followed the above change.
+
+ * lib/rss/parser.rb: fixed a bug that handles unintended elements.
+ Thanks to Takuo Yonezawa. [ruby-list:43841]
+
Mon Aug 13 17:23:10 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (rb_clear_trace_func, rb_thread_stop_timer_thread):
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/"
diff --git a/test/rss/test_version.rb b/test/rss/test_version.rb
index cb60faae79..8e63af7c23 100644
--- a/test/rss/test_version.rb
+++ b/test/rss/test_version.rb
@@ -3,7 +3,7 @@ require "rss-testcase"
module RSS
class TestVersion < TestCase
def test_version
- assert_equal("0.1.8", ::RSS::VERSION)
+ assert_equal("0.1.9", ::RSS::VERSION)
end
end
end