ruby-changes:8305
From: matz <ko1@a...>
Date: Sat, 18 Oct 2008 19:32:58 +0900 (JST)
Subject: [ruby-changes:8305] Ruby:r19833 (trunk): * lib/tempfile.rb (Tempfile#initialize): now Tempfile.new takes
matz 2008-10-18 19:32:26 +0900 (Sat, 18 Oct 2008) New Revision: 19833 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19833 Log: * lib/tempfile.rb (Tempfile#initialize): now Tempfile.new takes keyword arguments to open(). [ruby-dev:36756] Modified files: trunk/ChangeLog trunk/lib/tempfile.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 19832) +++ ChangeLog (revision 19833) @@ -1,3 +1,8 @@ +Sat Oct 18 04:08:18 2008 Yukihiro Matsumoto <matz@r...> + + * lib/tempfile.rb (Tempfile#initialize): now Tempfile.new takes + keyword arguments to open(). [ruby-dev:36756] + Tue Oct 14 17:10:10 2008 Martin Duerst <duerst@i...> * tool/transcode-tblgen.rb: added set_valid_byte_pattern Index: lib/tempfile.rb =================================================================== --- lib/tempfile.rb (revision 19832) +++ lib/tempfile.rb (revision 19833) @@ -29,7 +29,12 @@ # Dir::tmpdir provided by 'tmpdir.rb'. # When $SAFE > 0 and the given tmpdir is tainted, it uses # /tmp. (Note that ENV values are tainted by default) - def initialize(basename, tmpdir=Dir::tmpdir) + def initialize(basename, *rest) + # I wish keyword argument settled soon. + if opts = Hash.try_convert(rest[-1]) + rest.pop + end + tmpdir = rest[0] || Dir::tmpdir if $SAFE > 0 and tmpdir.tainted? tmpdir = '/tmp' end @@ -56,7 +61,12 @@ @clean_proc = Tempfile.callback(@data) ObjectSpace.define_finalizer(self, @clean_proc) - @tmpfile = File.open(tmpname, File::RDWR|File::CREAT|File::EXCL, 0600) + if opts.nil? + opts = [] + else + opts = [opts] + end + @tmpfile = File.open(tmpname, File::RDWR|File::CREAT|File::EXCL, 0600, *opts) @tmpname = tmpname @@cleanlist << @tmpname @data[1] = @tmpfile -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/