From 75821c744f0bfda185eac35b91810254bf9e2367 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Wed, 5 Feb 2014 16:42:04 -0800 Subject: [PATCH] refactor checking `really_verbose` This commit tries to reduce the number of places in RubyGems where we test `really_verbose`. --- lib/rubygems/commands/cleanup_command.rb | 4 ++-- lib/rubygems/dependency_installer.rb | 6 +++--- lib/rubygems/installer.rb | 6 +++--- lib/rubygems/package.rb | 2 +- lib/rubygems/package/old.rb | 2 +- lib/rubygems/rdoc.rb | 2 +- lib/rubygems/remote_fetcher.rb | 23 ++++++++--------------- lib/rubygems/user_interaction.rb | 8 ++++++++ 8 files changed, 27 insertions(+), 26 deletions(-) diff --git a/lib/rubygems/commands/cleanup_command.rb b/lib/rubygems/commands/cleanup_command.rb index c8f0082bfb..69975640fe 100644 --- a/lib/rubygems/commands/cleanup_command.rb +++ b/lib/rubygems/commands/cleanup_command.rb @@ -66,10 +66,10 @@ def execute say "Clean Up Complete" - if Gem.configuration.really_verbose then + verbose do skipped = @default_gems.map { |spec| spec.full_name } - say "Skipped default gems: #{skipped.join ', '}" + "Skipped default gems: #{skipped.join ', '}" end end diff --git a/lib/rubygems/dependency_installer.rb b/lib/rubygems/dependency_installer.rb index 5644b5ce73..4ea3847b70 100644 --- a/lib/rubygems/dependency_installer.rb +++ b/lib/rubygems/dependency_installer.rb @@ -165,9 +165,9 @@ def find_gems_with_sources dep, best_only=false # :nodoc: # FIX if there is a problem talking to the network, we either need to always tell # the user (no really_verbose) or fail hard, not silently tell them that we just # couldn't find their requested gem. - if Gem.configuration.really_verbose then - say "Error fetching remote data:\t\t#{e.message}" - say "Falling back to local-only install" + verbose do + "Error fetching remote data:\t\t#{e.message}\n" \ + "Falling back to local-only install" end @domain = :local end diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb index cbae8234a1..548f1262a8 100644 --- a/lib/rubygems/installer.rb +++ b/lib/rubygems/installer.rb @@ -357,7 +357,7 @@ def generate_windows_script(filename, bindir) file.puts windows_stub_script(bindir, filename) end - say script_path if Gem.configuration.really_verbose + verbose script_path end end @@ -408,7 +408,7 @@ def generate_bin_script(filename, bindir) file.print app_script_text(filename) end - say bin_script_path if Gem.configuration.really_verbose + verbose bin_script_path generate_windows_script filename, bindir end @@ -694,7 +694,7 @@ def build_extension extension, dest_path # :nodoc: results = builder.build(extension, gem_dir, dest_path, results, @build_args) - say results.join("\n") if Gem.configuration.really_verbose + verbose { results.join("\n") } end end rescue diff --git a/lib/rubygems/package.rb b/lib/rubygems/package.rb index ae20f22b94..417b34b79f 100644 --- a/lib/rubygems/package.rb +++ b/lib/rubygems/package.rb @@ -347,7 +347,7 @@ def extract_tar_gz io, destination_dir, pattern = "*" # :nodoc: out.write entry.read end - say destination if Gem.configuration.really_verbose + verbose destination end end end diff --git a/lib/rubygems/package/old.rb b/lib/rubygems/package/old.rb index 30c30c0201..c47210d2a0 100644 --- a/lib/rubygems/package/old.rb +++ b/lib/rubygems/package/old.rb @@ -83,7 +83,7 @@ def extract_files destination_dir out.write file_data end - say destination if Gem.configuration.really_verbose + verbose destination end end rescue Zlib::DataError diff --git a/lib/rubygems/rdoc.rb b/lib/rubygems/rdoc.rb index 633bd893a5..394e502051 100644 --- a/lib/rubygems/rdoc.rb +++ b/lib/rubygems/rdoc.rb @@ -263,7 +263,7 @@ def legacy_rdoc *args Gem::Requirement.new('>= 2.4.0') =~ self.class.rdoc_version r = new_rdoc - say "rdoc #{args.join ' '}" if Gem.configuration.really_verbose + verbose { "rdoc #{args.join ' '}" } Dir.chdir @spec.full_gem_path do begin diff --git a/lib/rubygems/remote_fetcher.rb b/lib/rubygems/remote_fetcher.rb index 2490c69556..9df48bf6f3 100644 --- a/lib/rubygems/remote_fetcher.rb +++ b/lib/rubygems/remote_fetcher.rb @@ -168,8 +168,7 @@ def download(spec, source_uri, install_dir = Gem.dir) when 'http', 'https' then unless File.exist? local_gem_path then begin - say "Downloading gem #{gem_file_name}" if - Gem.configuration.really_verbose + verbose "Downloading gem #{gem_file_name}" remote_gem_path = source_uri + "gems/#{gem_file_name}" @@ -179,8 +178,7 @@ def download(spec, source_uri, install_dir = Gem.dir) alternate_name = "#{spec.original_name}.gem" - say "Failed, downloading gem #{alternate_name}" if - Gem.configuration.really_verbose + verbose "Failed, downloading gem #{alternate_name}" remote_gem_path = source_uri + "gems/#{alternate_name}" @@ -199,8 +197,7 @@ def download(spec, source_uri, install_dir = Gem.dir) local_gem_path = source_uri.to_s end - say "Using local gem #{local_gem_path}" if - Gem.configuration.really_verbose + verbose "Using local gem #{local_gem_path}" when nil then # TODO test for local overriding cache source_path = if Gem.win_platform? && source_uri.scheme && !source_uri.path.include?(':') then @@ -218,8 +215,7 @@ def download(spec, source_uri, install_dir = Gem.dir) local_gem_path = source_uri.to_s end - say "Using local gem #{local_gem_path}" if - Gem.configuration.really_verbose + verbose "Using local gem #{local_gem_path}" else raise ArgumentError, "unsupported URI scheme #{source_uri.scheme}" end @@ -506,8 +502,7 @@ def fetch begin @requests[connection.object_id] += 1 - say "#{request.method} #{uri}" if - Gem.configuration.really_verbose + verbose "#{request.method} #{uri}" file_name = File.basename(uri.path) # perform download progress reporter only for gems @@ -536,11 +531,10 @@ def fetch response = connection.request request end - say "#{response.code} #{response.message}" if - Gem.configuration.really_verbose + verbose "#{response.code} #{response.message}" rescue Net::HTTPBadResponse - say "bad response" if Gem.configuration.really_verbose + verbose "bad response" reset connection @@ -555,8 +549,7 @@ def fetch Errno::ECONNABORTED, Errno::ECONNRESET, Errno::EPIPE requests = @requests[connection.object_id] - say "connection reset after #{requests} requests, retrying" if - Gem.configuration.really_verbose + verbose "connection reset after #{requests} requests, retrying" raise FetchError.new('too many connection resets', uri) if retried diff --git a/lib/rubygems/user_interaction.rb b/lib/rubygems/user_interaction.rb index f5e460f994..42ab6e2c24 100644 --- a/lib/rubygems/user_interaction.rb +++ b/lib/rubygems/user_interaction.rb @@ -119,6 +119,14 @@ def say statement = '' def terminate_interaction(*args) ui.terminate_interaction(*args) end + + ## + # Calls +say+ with +msg+ or the results of the block if really_verbose + # is true. + + def verbose msg = nil + say(msg || yield) if Gem.configuration.really_verbose + end end ##