diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index ededff0..9f090fa 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -209,22 +209,6 @@ Style/SafeNavigation: - 'test/filesystem/file_stat_test.rb' - 'test/test_helper.rb' -# Offense count: 42 -# Cop supports --auto-correct. -# Configuration parameters: IgnoredMethods. -# IgnoredMethods: respond_to, define_method -Style/SymbolProc: - Exclude: - - 'lib/zip/file.rb' - - 'lib/zip/filesystem.rb' - - 'test/basic_zip_file_test.rb' - - 'test/case_sensitivity_test.rb' - - 'test/deflater_test.rb' - - 'test/file_extract_test.rb' - - 'test/file_split_test.rb' - - 'test/file_test.rb' - - 'test/filesystem/file_nonmutating_test.rb' - # Offense count: 3 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, AllowSafeAssignment. diff --git a/lib/zip/file.rb b/lib/zip/file.rb index 346bbad..37dcd92 100644 --- a/lib/zip/file.rb +++ b/lib/zip/file.rb @@ -288,7 +288,7 @@ module Zip # Returns a string containing the contents of the specified entry def read(entry) - get_input_stream(entry) { |is| is.read } + get_input_stream(entry, &:read) end # Convenience method for adding the contents of a file to the archive diff --git a/lib/zip/filesystem.rb b/lib/zip/filesystem.rb index 2a5dbdf..4f3e995 100644 --- a/lib/zip/filesystem.rb +++ b/lib/zip/filesystem.rb @@ -390,7 +390,7 @@ module Zip alias lstat stat def readlines(fileName) - self.open(fileName) { |is| is.readlines } + self.open(fileName, &:readlines) end def read(fileName) diff --git a/test/basic_zip_file_test.rb b/test/basic_zip_file_test.rb index 9e490b4..3d21ae8 100644 --- a/test/basic_zip_file_test.rb +++ b/test/basic_zip_file_test.rb @@ -10,7 +10,7 @@ class BasicZipFileTest < MiniTest::Test def test_entries assert_equal(TestZipFile::TEST_ZIP2.entry_names.sort, - @zip_file.entries.entries.sort.map { |e| e.name }) + @zip_file.entries.entries.sort.map(&:name)) end def test_each diff --git a/test/case_sensitivity_test.rb b/test/case_sensitivity_test.rb index 7749e06..92fc0f6 100644 --- a/test/case_sensitivity_test.rb +++ b/test/case_sensitivity_test.rb @@ -25,7 +25,7 @@ class ZipCaseSensitivityTest < MiniTest::Test SRC_FILES.each_with_index do |a, i| assert_equal(a.last, zfRead.entries[i].name) AssertEntry.assert_contents(a.first, - zfRead.get_input_stream(a.last) { |zis| zis.read }) + zfRead.get_input_stream(a.last, &:read)) end end @@ -56,8 +56,9 @@ class ZipCaseSensitivityTest < MiniTest::Test zfRead = ::Zip::File.new(EMPTY_FILENAME) assert_equal(SRC_FILES.collect { |_fn, en| en.downcase }.uniq.size, zfRead.entries.length) assert_equal(SRC_FILES.last.last.downcase, zfRead.entries.first.name.downcase) - AssertEntry.assert_contents(SRC_FILES.last.first, - zfRead.get_input_stream(SRC_FILES.last.last) { |zis| zis.read }) + AssertEntry.assert_contents( + SRC_FILES.last.first, zfRead.get_input_stream(SRC_FILES.last.last, &:read) + ) end private diff --git a/test/deflater_test.rb b/test/deflater_test.rb index d1970ce..78c22df 100644 --- a/test/deflater_test.rb +++ b/test/deflater_test.rb @@ -43,7 +43,7 @@ class DeflaterTest < MiniTest::Test private def load_file(fileName) - File.open(fileName, 'rb') { |f| f.read } + File.open(fileName, 'rb', &:read) end def deflate(data, fileName) diff --git a/test/file_extract_test.rb b/test/file_extract_test.rb index a494f78..3992a1a 100644 --- a/test/file_extract_test.rb +++ b/test/file_extract_test.rb @@ -20,7 +20,7 @@ class ZipFileExtractTest < MiniTest::Test assert(File.exist?(EXTRACTED_FILENAME)) AssertEntry.assert_contents(EXTRACTED_FILENAME, - zf.get_input_stream(ENTRY_TO_EXTRACT) { |is| is.read }) + zf.get_input_stream(ENTRY_TO_EXTRACT, &:read)) ::File.unlink(EXTRACTED_FILENAME) @@ -29,7 +29,7 @@ class ZipFileExtractTest < MiniTest::Test assert(File.exist?(EXTRACTED_FILENAME)) AssertEntry.assert_contents(EXTRACTED_FILENAME, - entry.get_input_stream { |is| is.read }) + entry.get_input_stream(&:read)) end end diff --git a/test/file_split_test.rb b/test/file_split_test.rb index c488f18..22dd134 100644 --- a/test/file_split_test.rb +++ b/test/file_split_test.rb @@ -43,7 +43,7 @@ class ZipFileSplitTest < MiniTest::Test assert(File.exist?(EXTRACTED_FILENAME)) AssertEntry.assert_contents(EXTRACTED_FILENAME, - zf.get_input_stream(ENTRY_TO_EXTRACT) { |is| is.read }) + zf.get_input_stream(ENTRY_TO_EXTRACT, &:read)) File.unlink(EXTRACTED_FILENAME) @@ -52,7 +52,7 @@ class ZipFileSplitTest < MiniTest::Test assert(File.exist?(EXTRACTED_FILENAME)) AssertEntry.assert_contents(EXTRACTED_FILENAME, - entry.get_input_stream { |is| is.read }) + entry.get_input_stream(&:read)) end end end diff --git a/test/file_test.rb b/test/file_test.rb index ba3f0ea..21aa72f 100644 --- a/test/file_test.rb +++ b/test/file_test.rb @@ -106,14 +106,14 @@ class ZipFileTest < MiniTest::Test def test_open_buffer_with_string string = File.read('test/data/rubycode.zip') ::Zip::File.open_buffer string do |zf| - assert zf.entries.map { |e| e.name }.include?('zippedruby1.rb') + assert zf.entries.map(&:name).include?('zippedruby1.rb') end end def test_open_buffer_with_stringio string_io = StringIO.new File.read('test/data/rubycode.zip') ::Zip::File.open_buffer string_io do |zf| - assert zf.entries.map { |e| e.name }.include?('zippedruby1.rb') + assert zf.entries.map(&:name).include?('zippedruby1.rb') end end @@ -171,7 +171,7 @@ class ZipFileTest < MiniTest::Test def test_open_buffer_without_block string_io = StringIO.new File.read('test/data/rubycode.zip') zf = ::Zip::File.open_buffer string_io - assert zf.entries.map { |e| e.name }.include?('zippedruby1.rb') + assert zf.entries.map(&:name).include?('zippedruby1.rb') end def test_cleans_up_tempfiles_after_close @@ -201,7 +201,7 @@ class ZipFileTest < MiniTest::Test assert_equal(1, zfRead.entries.length) assert_equal(entryName, zfRead.entries.first.name) AssertEntry.assert_contents(srcFile, - zfRead.get_input_stream(entryName) { |zis| zis.read }) + zfRead.get_input_stream(entryName, &:read)) end def test_add_stored @@ -221,7 +221,7 @@ class ZipFileTest < MiniTest::Test assert_equal(entry.size, entry.compressed_size) assert_equal(::Zip::Entry::STORED, entry.compression_method) AssertEntry.assert_contents(srcFile, - zfRead.get_input_stream(entryName) { |zis| zis.read }) + zfRead.get_input_stream(entryName, &:read)) end def test_recover_permissions_after_add_files_to_archive @@ -277,15 +277,15 @@ class ZipFileTest < MiniTest::Test FileUtils.cp(TestZipFile::TEST_ZIP2.zip_name, TEST_ZIP.zip_name) zf = ::Zip::File.new(TEST_ZIP.zip_name) - assert(zf.entries.map { |e| e.name }.include?(entryToRemove)) + assert(zf.entries.map(&:name).include?(entryToRemove)) zf.remove(entryToRemove) - assert(!zf.entries.map { |e| e.name }.include?(entryToRemove)) - assert_equal(zf.entries.map { |x| x.name }.sort, remainingEntries.sort) + assert(!zf.entries.map(&:name).include?(entryToRemove)) + assert_equal(zf.entries.map(&:name).sort, remainingEntries.sort) zf.close zfRead = ::Zip::File.new(TEST_ZIP.zip_name) - assert(!zfRead.entries.map { |e| e.name }.include?(entryToRemove)) - assert_equal(zfRead.entries.map { |x| x.name }.sort, remainingEntries.sort) + assert(!zfRead.entries.map(&:name).include?(entryToRemove)) + assert_equal(zfRead.entries.map(&:name).sort, remainingEntries.sort) zfRead.close end @@ -293,21 +293,21 @@ class ZipFileTest < MiniTest::Test entryToRename, * = TEST_ZIP.entry_names zf = ::Zip::File.new(TEST_ZIP.zip_name) - assert(zf.entries.map { |e| e.name }.include?(entryToRename)) + assert(zf.entries.map(&:name).include?(entryToRename)) contents = zf.read(entryToRename) newName = 'changed entry name' - assert(!zf.entries.map { |e| e.name }.include?(newName)) + assert(!zf.entries.map(&:name).include?(newName)) zf.rename(entryToRename, newName) - assert(zf.entries.map { |e| e.name }.include?(newName)) + assert(zf.entries.map(&:name).include?(newName)) assert_equal(contents, zf.read(newName)) zf.close zfRead = ::Zip::File.new(TEST_ZIP.zip_name) - assert(zfRead.entries.map { |e| e.name }.include?(newName)) + assert(zfRead.entries.map(&:name).include?(newName)) assert_equal(contents, zfRead.read(newName)) zfRead.close end @@ -352,7 +352,7 @@ class ZipFileTest < MiniTest::Test end ::Zip::File.open(TEST_ZIP.zip_name) do |zf| - assert_equal(oldEntries.sort.map { |e| e.name }, zf.entries.sort.map { |e| e.name }) + assert_equal(oldEntries.sort.map(&:name), zf.entries.sort.map(&:name)) end end @@ -373,8 +373,8 @@ class ZipFileTest < MiniTest::Test assert(gotCalled) oldEntries.delete_if { |e| e.name == renamedEntryName } ::Zip::File.open(TEST_ZIP.zip_name) do |zf| - assert_equal(oldEntries.sort.map { |e| e.name }, - zf.entries.sort.map { |e| e.name }) + assert_equal(oldEntries.sort.map(&:name), + zf.entries.sort.map(&:name)) end end @@ -407,13 +407,16 @@ class ZipFileTest < MiniTest::Test zf.close zfRead = ::Zip::File.new(TEST_ZIP.zip_name) AssertEntry.assert_contents(newEntrySrcFilename, - zfRead.get_input_stream(entryToReplace) { |is| is.read }) + zfRead.get_input_stream(entryToReplace, &:read)) AssertEntry.assert_contents(TEST_ZIP.entry_names[0], - zfRead.get_input_stream(TEST_ZIP.entry_names[0]) { |is| is.read }) + zfRead.get_input_stream(TEST_ZIP.entry_names[0], + &:read)) AssertEntry.assert_contents(TEST_ZIP.entry_names[1], - zfRead.get_input_stream(TEST_ZIP.entry_names[1]) { |is| is.read }) + zfRead.get_input_stream(TEST_ZIP.entry_names[1], + &:read)) AssertEntry.assert_contents(TEST_ZIP.entry_names[3], - zfRead.get_input_stream(TEST_ZIP.entry_names[3]) { |is| is.read }) + zfRead.get_input_stream(TEST_ZIP.entry_names[3], + &:read)) zfRead.close end @@ -555,7 +558,7 @@ class ZipFileTest < MiniTest::Test zf.add(filename, filename) assert_contains(zf, filename) end - assert_equal(zf.entries.sort.map { |e| e.name }, TestFiles::ASCII_TEST_FILES) + assert_equal(zf.entries.sort.map(&:name), TestFiles::ASCII_TEST_FILES) zf.rename(TestFiles::ASCII_TEST_FILES[0], 'newName') assert_not_contains(zf, TestFiles::ASCII_TEST_FILES[0]) @@ -588,7 +591,7 @@ class ZipFileTest < MiniTest::Test def test_preserve_file_order entryNames = nil ::Zip::File.open(TEST_ZIP.zip_name) do |zf| - entryNames = zf.entries.map { |e| e.to_s } + entryNames = zf.entries.map(&:to_s) zf.get_output_stream('a.txt') { |os| os.write 'this is a.txt' } zf.get_output_stream('z.txt') { |os| os.write 'this is z.txt' } zf.get_output_stream('k.txt') { |os| os.write 'this is k.txt' } @@ -596,16 +599,16 @@ class ZipFileTest < MiniTest::Test end ::Zip::File.open(TEST_ZIP.zip_name) do |zf| - assert_equal(entryNames, zf.entries.map { |e| e.to_s }) - entries = zf.entries.sort_by { |e| e.name }.reverse + assert_equal(entryNames, zf.entries.map(&:to_s)) + entries = zf.entries.sort_by(&:name).reverse entries.each do |e| zf.remove e zf.get_output_stream(e) { |os| os.write 'foo' } end - entryNames = entries.map { |e| e.to_s } + entryNames = entries.map(&:to_s) end ::Zip::File.open(TEST_ZIP.zip_name) do |zf| - assert_equal(entryNames, zf.entries.map { |e| e.to_s }) + assert_equal(entryNames, zf.entries.map(&:to_s)) end end diff --git a/test/filesystem/file_nonmutating_test.rb b/test/filesystem/file_nonmutating_test.rb index 73161cf..af4db8f 100644 --- a/test/filesystem/file_nonmutating_test.rb +++ b/test/filesystem/file_nonmutating_test.rb @@ -468,12 +468,12 @@ class ZipFsFileNonmutatingTest < MiniTest::Test if Zip::RUNNING_ON_WINDOWS # This is pretty much projectile vomit but it allows the test to be # run on windows also - system_dir = ::File.popen('dir') { |f| f.read }.gsub(/Dir\(s\).*$/, '') - zipfile_dir = @zip_file.file.popen('dir') { |f| f.read }.gsub(/Dir\(s\).*$/, '') + system_dir = ::File.popen('dir', &:read).gsub(/Dir\(s\).*$/, '') + zipfile_dir = @zip_file.file.popen('dir', &:read).gsub(/Dir\(s\).*$/, '') assert_equal(system_dir, zipfile_dir) else - assert_equal(::File.popen('ls') { |f| f.read }, - @zip_file.file.popen('ls') { |f| f.read }) + assert_equal(::File.popen('ls', &:read), + @zip_file.file.popen('ls', &:read)) end end