[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]