mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rexml/source.rb (REXML::SourceFactory::SourceFactory): more
duck typed. better performance on JRuby. http://headius.blogspot.com/2007/10/another-performance-discovery-rexml.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
fada885be6
commit
b8c9921c02
2 changed files with 13 additions and 6 deletions
|
@ -1,3 +1,9 @@
|
|||
Thu Oct 18 16:39:34 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* lib/rexml/source.rb (REXML::SourceFactory::SourceFactory): more
|
||||
duck typed. better performance on JRuby.
|
||||
http://headius.blogspot.com/2007/10/another-performance-discovery-rexml.html
|
||||
|
||||
Thu Oct 18 09:33:25 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* range.c (range_first): takes first n element if argument is
|
||||
|
|
|
@ -7,13 +7,14 @@ module REXML
|
|||
# @param arg Either a String, or an IO
|
||||
# @return a Source, or nil if a bad argument was given
|
||||
def SourceFactory::create_from(arg)
|
||||
if arg.kind_of? String
|
||||
Source.new(arg)
|
||||
elsif arg.respond_to? :read and
|
||||
arg.respond_to? :readline and
|
||||
arg.respond_to? :nil? and
|
||||
arg.respond_to? :eof?
|
||||
if arg.respond_to? :read and
|
||||
arg.respond_to? :readline and
|
||||
arg.respond_to? :nil? and
|
||||
arg.respond_to? :eof?
|
||||
IOSource.new(arg)
|
||||
elsif arg.respond_to? :to_str
|
||||
require 'stringio'
|
||||
IOSource.new(StringIO.new(arg))
|
||||
elsif arg.kind_of? Source
|
||||
arg
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue