summaryrefslogtreecommitdiffstats
path: root/lib/rss/parser.rb
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-17 01:04:31 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-17 01:04:31 +0000
commitd6ee50245ad9f6773ad087905bd9d3dd0c537a30 (patch)
tree69741dee756af0a86c03e3bae8d2574a839fc426 /lib/rss/parser.rb
parent02ca9a241096ea6f386203418d8a6e4d35163ec0 (diff)
downloadruby-d6ee50245ad9f6773ad087905bd9d3dd0c537a30.tar.gz
ruby-d6ee50245ad9f6773ad087905bd9d3dd0c537a30.tar.xz
ruby-d6ee50245ad9f6773ad087905bd9d3dd0c537a30.zip
* lib/rss, test/rss: backported from trunk. (2005-11-16 - now)
* lib/rss/rss.rb: added backward compatibility codes. * lib/rss/parser.rb: ditto. * test/rss/test_parser.rb: ditto. * test/rss/test_2.0.rb: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rss/parser.rb')
-rw-r--r--lib/rss/parser.rb16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/rss/parser.rb b/lib/rss/parser.rb
index 73cce6b7a..ace3d262f 100644
--- a/lib/rss/parser.rb
+++ b/lib/rss/parser.rb
@@ -1,5 +1,17 @@
require "forwardable"
-require "open-uri"
+begin
+ require "open-uri"
+rescue LoadError
+ require "uri"
+end
+unless Kernel.methods.include?("URI")
+ module Kernel
+ def URI(uri_str) # :doc:
+ URI.parse(uri_str)
+ end
+ module_function :URI
+ end
+end
require "rss/rss"
@@ -414,7 +426,7 @@ module RSS
end
previous = @last_element
- next_element = klass.__send__(:new, *args)
+ next_element = klass.new(*args)
next_element.do_validate = @do_validate
previous.instance_eval {set_next_element(tag_name, next_element)}
@last_element = next_element