aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-11-25 14:22:37 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-12-01 02:28:49 +0900
commitd752cf7601adbe4bc2dc658effc2f61563a7dfb7 (patch)
tree7acc875d1933b330f96c7e3d7a31d61da5e77387
parenta0b0365e905e1ac51998ace7e6fc723406a2f157 (diff)
downloadruby-d752cf7601adbe4bc2dc658effc2f61563a7dfb7.tar.gz
Use class methods of `File` over `Kernel.open` and `IO.read`
-rw-r--r--sample/coverage.rb2
-rw-r--r--sample/from.rb2
-rw-r--r--sample/mpart.rb44
-rw-r--r--sample/uumerge.rb2
-rw-r--r--tool/lib/test/unit.rb2
-rw-r--r--tool/lib/webrick/httputils.rb2
-rw-r--r--tool/mk_builtin_loader.rb6
-rw-r--r--tool/test/webrick/test_filehandler.rb4
-rw-r--r--tool/test/webrick/test_httprequest.rb2
-rw-r--r--tool/transcode-tblgen.rb2
-rwxr-xr-xwin32/resource.rb2
11 files changed, 40 insertions, 30 deletions
diff --git a/sample/coverage.rb b/sample/coverage.rb
index 8e8d6167e2..42ba89fd50 100644
--- a/sample/coverage.rb
+++ b/sample/coverage.rb
@@ -49,7 +49,7 @@ at_exit do
end
end
- open(cfile, "w") do |out|
+ File.open(cfile, "w") do |out|
covs.zip(sources, pcovs).each_with_index do |(cov, line, pcov), idx|
cov += pcov || 0 if cov
cov = (cov ? (cov == 0 ? "#####" : cov.to_s) : "-").rjust(9)
diff --git a/sample/from.rb b/sample/from.rb
index db1299c869..0e5a08de5f 100644
--- a/sample/from.rb
+++ b/sample/from.rb
@@ -62,7 +62,7 @@ def from_main
if File.exist?(file)
atime = File.atime(file)
mtime = File.mtime(file)
- open(file, "r") do |f|
+ File.open(file, "r") do |f|
until f.eof?
header = {}
f.each_line do |line|
diff --git a/sample/mpart.rb b/sample/mpart.rb
index a88eba0ef6..eeb895d3de 100644
--- a/sample/mpart.rb
+++ b/sample/mpart.rb
@@ -2,11 +2,29 @@
# split into multi part
# usage: mpart.rb [-nnn] file..
+class MPart < File
+ def self.new(basename, extname, part, parts)
+ super(sprintf("%s.%s%02d", basename, extname, part), "w").
+ begin_mpart(basename, part, parts)
+ end
+
+ def begin_mpart(basename, part, parts)
+ printf("%s part%02d/%02d\n", basename, part, parts)
+ write("BEGIN--cut here--cut here\n")
+ self
+ end
+
+ def close
+ write("END--cut here--cut here\n")
+ super
+ end
+end
+
lines = 1000
if (ARGV[0] =~ /^-(\d+)$/ )
- lines = $1.to_i;
- ARGV.shift;
+ lines = $1.to_i
+ ARGV.shift
end
basename = ARGV[0]
@@ -14,31 +32,23 @@ extname = "part"
part = 1
line = 0
+ofp = nil
fline = 0
-for i in ifp = open(basename)
- fline = fline + 1
-end
-ifp.close
+File.foreach(basename) {fline += 1}
parts = fline / lines + 1
-for i in ifp = open(basename)
+File.foreach(basename) do |i|
if line == 0
- ofp = open(sprintf("%s.%s%02d", basename, extname, part), "w")
- printf(ofp, "%s part%02d/%02d\n", basename, part, parts)
- ofp.write("BEGIN--cut here--cut here\n")
+ ofp = MPart.new(basename, extname, part, parts)
end
ofp.write(i)
- line = line + 1
- if line >= lines and !ifp.eof?
- ofp.write("END--cut here--cut here\n")
+ line += 1
+ if line >= lines
ofp.close
- part = part + 1
+ part += 1
line = 0
end
end
-ofp.write("END--cut here--cut here\n")
ofp.close
-
-ifp.close
diff --git a/sample/uumerge.rb b/sample/uumerge.rb
index 2576bcb864..1b81582c24 100644
--- a/sample/uumerge.rb
+++ b/sample/uumerge.rb
@@ -15,7 +15,7 @@ while line = gets()
if out_stdout
out = STDOUT
else
- out = open($file, "w") if $file != ""
+ out = File.open($file, "w") if $file != ""
end
out.binmode
break
diff --git a/tool/lib/test/unit.rb b/tool/lib/test/unit.rb
index 0449fa215a..0fa7b4c5cd 100644
--- a/tool/lib/test/unit.rb
+++ b/tool/lib/test/unit.rb
@@ -729,7 +729,7 @@ module Test
return result
ensure
if file = @options[:timetable_data]
- open(file, 'w'){|f|
+ File.open(file, 'w'){|f|
@records.each{|(worker, suite), (st, ed)|
f.puts '[' + [worker.dump, suite.dump, st.to_f * 1_000, ed.to_f * 1_000].join(", ") + '],'
}
diff --git a/tool/lib/webrick/httputils.rb b/tool/lib/webrick/httputils.rb
index f1b9ddf9f0..e21284ee7f 100644
--- a/tool/lib/webrick/httputils.rb
+++ b/tool/lib/webrick/httputils.rb
@@ -112,7 +112,7 @@ module WEBrick
def load_mime_types(file)
# note: +file+ may be a "| command" for now; some people may
# rely on this, but currently we do not use this method by default.
- open(file){ |io|
+ File.open(file){ |io|
hash = Hash.new
io.each{ |line|
next if /^#/ =~ line
diff --git a/tool/mk_builtin_loader.rb b/tool/mk_builtin_loader.rb
index c4f36889d6..94af846a7e 100644
--- a/tool/mk_builtin_loader.rb
+++ b/tool/mk_builtin_loader.rb
@@ -276,10 +276,10 @@ def mk_builtin_header file
collect_builtin(base, Ripper.sexp(code), 'top', bs = {}, inlines = {})
begin
- f = open(ofile, 'w')
- rescue Errno::EACCES
+ f = File.open(ofile, 'w')
+ rescue SystemCallError # EACCES, EPERM, EROFS, etc.
# Fall back to the current directory
- f = open(File.basename(ofile), 'w')
+ f = File.open(File.basename(ofile), 'w')
end
begin
if File::ALT_SEPARATOR
diff --git a/tool/test/webrick/test_filehandler.rb b/tool/test/webrick/test_filehandler.rb
index 146d8ce792..9c5b83e300 100644
--- a/tool/test/webrick/test_filehandler.rb
+++ b/tool/test/webrick/test_filehandler.rb
@@ -85,12 +85,12 @@ class WEBrick::TestFileHandler < Test::Unit::TestCase
"Content-Type: text/plain\r\n" \
"Content-Range: bytes 0-0/#{filesize}\r\n" \
"\r\n" \
- "#{IO.read(__FILE__, 1)}\r\n" \
+ "#{File.read(__FILE__, 1)}\r\n" \
"--#{boundary}\r\n" \
"Content-Type: text/plain\r\n" \
"Content-Range: bytes #{off}-#{last}/#{filesize}\r\n" \
"\r\n" \
- "#{IO.read(__FILE__, 2, off)}\r\n" \
+ "#{File.read(__FILE__, 2, off)}\r\n" \
"--#{boundary}--\r\n"
assert_equal exp, body
end
diff --git a/tool/test/webrick/test_httprequest.rb b/tool/test/webrick/test_httprequest.rb
index 759ccbdada..3c0ea937d9 100644
--- a/tool/test/webrick/test_httprequest.rb
+++ b/tool/test/webrick/test_httprequest.rb
@@ -245,7 +245,7 @@ GET /
_end_of_message_
msg.gsub!(/^ {6}/, "")
- open(__FILE__){|io|
+ File.open(__FILE__){|io|
while chunk = io.read(100)
msg << chunk.size.to_s(16) << crlf
msg << chunk << crlf
diff --git a/tool/transcode-tblgen.rb b/tool/transcode-tblgen.rb
index dba6f33ff9..b19f68bac4 100644
--- a/tool/transcode-tblgen.rb
+++ b/tool/transcode-tblgen.rb
@@ -725,7 +725,7 @@ def citrus_decode_mapsrc(ces, csid, mapsrcs)
path << ".src"
path[path.rindex('/')] = '%'
STDOUT.puts 'load mapsrc %s' % path if VERBOSE_MODE > 1
- open(path, 'rb') do |f|
+ File.open(path, 'rb') do |f|
f.each_line do |l|
break if /^BEGIN_MAP/ =~ l
end
diff --git a/win32/resource.rb b/win32/resource.rb
index bc3eda5630..60bb1f3bd0 100755
--- a/win32/resource.rb
+++ b/win32/resource.rb
@@ -53,7 +53,7 @@ end
[$so_name, '.dll', 'VFT_DLL', 'DLL', dll_icons.join],
].each do |base, ext, type, desc, icon|
next if $output and $output != base
- open(base + '.rc', "w") { |f|
+ File.open(base + '.rc', "w") { |f|
f.binmode if /mingw/ =~ RUBY_PLATFORM
f.print <<EOF