summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-11-25 03:54:29 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-11-25 03:54:29 +0000
commit254670b3bc1143e6a71ea203dae8c31cf2908730 (patch)
treefa2ac64a12c7374e4fd0949b8aa6084afcb1d6bc /lib
parent456ba712fe921f2387611055b67090d70dfad071 (diff)
* 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. * test/rss/test_content.rb: use #__send__ instead of #funcall for no private method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/rss/parser.rb16
-rw-r--r--lib/rss/rss.rb8
2 files changed, 22 insertions, 2 deletions
diff --git a/lib/rss/parser.rb b/lib/rss/parser.rb
index 5308211b9d..e63e06e20d 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.funcall(:set_next_element, tag_name, next_element)
@last_element = next_element
diff --git a/lib/rss/rss.rb b/lib/rss/rss.rb
index 589478665c..f424f16171 100644
--- a/lib/rss/rss.rb
+++ b/lib/rss/rss.rb
@@ -52,6 +52,14 @@ class Hash
end
end
+module Kernel
+ unless methods.include?("funcall")
+ def funcall(*args, &block)
+ __send__(*args, &block)
+ end
+ end
+end
+
require "English"
require "rss/utils"
require "rss/converter"