From 6693915399a5d9f1f09255c5008d2cc1209f7662 Mon Sep 17 00:00:00 2001
From: Mike McQuaid <mike@mikemcquaid.com>
Date: Sat, 17 Sep 2016 15:17:27 +0100
Subject: [PATCH] rubocop --auto-correct all remaining files.

But remove some manual `.freeze`s on constants that shouldn't be
constants.
---
 Library/Homebrew/build_environment.rb     |  3 +-
 Library/Homebrew/caveats.rb               | 11 +++++--
 Library/Homebrew/checksum.rb              |  2 +-
 Library/Homebrew/cleanup.rb               | 14 ++++++---
 Library/Homebrew/compilers.rb             | 10 +++---
 Library/Homebrew/debrew.rb                |  2 +-
 Library/Homebrew/dependable.rb            |  2 +-
 Library/Homebrew/dependency_collector.rb  | 15 +++++----
 Library/Homebrew/descriptions.rb          | 22 ++++++-------
 Library/Homebrew/development_tools.rb     |  6 +++-
 Library/Homebrew/diagnostic.rb            | 35 ++++++++++++---------
 Library/Homebrew/download_strategy.rb     | 38 +++++++++++++----------
 Library/Homebrew/emoji.rb                 |  2 +-
 Library/Homebrew/exceptions.rb            |  2 +-
 Library/Homebrew/formula.rb               | 37 ++++++++++++----------
 Library/Homebrew/formula_cellar_checks.rb |  2 +-
 Library/Homebrew/formula_installer.rb     | 10 +++---
 Library/Homebrew/formula_pin.rb           |  2 +-
 Library/Homebrew/formula_support.rb       |  2 +-
 Library/Homebrew/formula_versions.rb      |  2 +-
 Library/Homebrew/formulary.rb             | 20 ++++++------
 Library/Homebrew/global.rb                | 16 +++++++---
 Library/Homebrew/keg.rb                   | 25 +++++++--------
 Library/Homebrew/keg_relocate.rb          |  8 ++---
 Library/Homebrew/metafiles.rb             |  4 +--
 Library/Homebrew/migrator.rb              |  4 +--
 Library/Homebrew/patch.rb                 |  2 +-
 Library/Homebrew/sandbox.rb               |  2 +-
 Library/Homebrew/software_spec.rb         | 29 +++++++++--------
 Library/Homebrew/system_config.rb         |  2 +-
 Library/Homebrew/tab.rb                   | 16 +++++-----
 Library/Homebrew/tap.rb                   | 11 +++----
 Library/Homebrew/version.rb               |  6 ++--
 33 files changed, 199 insertions(+), 165 deletions(-)

diff --git a/Library/Homebrew/build_environment.rb b/Library/Homebrew/build_environment.rb
index 05ac9a43e6..b66aafcdf7 100644
--- a/Library/Homebrew/build_environment.rb
+++ b/Library/Homebrew/build_environment.rb
@@ -43,7 +43,8 @@ module Homebrew
       HOMEBREW_SVN HOMEBREW_GIT
       HOMEBREW_SDKROOT HOMEBREW_BUILD_FROM_SOURCE
       MAKE GIT CPP
-      ACLOCAL_PATH PATH CPATH].select { |key| env.key?(key) }
+      ACLOCAL_PATH PATH CPATH
+    ].select { |key| env.key?(key) }
   end
 
   def dump_build_env(env, f = $stdout)
diff --git a/Library/Homebrew/caveats.rb b/Library/Homebrew/caveats.rb
index b71596b2b0..9c1787f87a 100644
--- a/Library/Homebrew/caveats.rb
+++ b/Library/Homebrew/caveats.rb
@@ -8,9 +8,10 @@ class Caveats
   def caveats
     caveats = []
     begin
-      build, f.build = f.build, Tab.for_formula(f)
+      build = f.build
+      f.build = Tab.for_formula(f)
       s = f.caveats.to_s
-      caveats << s.chomp + "\n" if s.length > 0
+      caveats << s.chomp + "\n" unless s.empty?
     ensure
       f.build = build
     end
@@ -33,7 +34,11 @@ class Caveats
 
   def keg
     @keg ||= [f.prefix, f.opt_prefix, f.linked_keg].map do |d|
-      Keg.new(d.resolved_path) rescue nil
+      begin
+        Keg.new(d.resolved_path)
+      rescue
+        nil
+      end
     end.compact.first
   end
 
diff --git a/Library/Homebrew/checksum.rb b/Library/Homebrew/checksum.rb
index 1197609b1c..6be454efb8 100644
--- a/Library/Homebrew/checksum.rb
+++ b/Library/Homebrew/checksum.rb
@@ -2,7 +2,7 @@ class Checksum
   attr_reader :hash_type, :hexdigest
   alias_method :to_s, :hexdigest
 
-  TYPES = [:sha256]
+  TYPES = [:sha256].freeze
 
   def initialize(hash_type, hexdigest)
     @hash_type = hash_type
diff --git a/Library/Homebrew/cleanup.rb b/Library/Homebrew/cleanup.rb
index 41c4bbf34e..ebb5705831 100644
--- a/Library/Homebrew/cleanup.rb
+++ b/Library/Homebrew/cleanup.rb
@@ -43,7 +43,7 @@ module Homebrew
       end
     end
 
-    def self.cleanup_cache(cache=HOMEBREW_CACHE)
+    def self.cleanup_cache(cache = HOMEBREW_CACHE)
       return unless cache.directory?
       cache.children.each do |path|
         if path.to_s.end_with? ".incomplete"
@@ -67,7 +67,11 @@ module Homebrew
         file = path
 
         if Pathname::BOTTLE_EXTNAME_RX === file.to_s
-          version = Utils::Bottles.resolve_version(file) rescue file.version
+          version = begin
+                      Utils::Bottles.resolve_version(file)
+                    rescue
+                      file.version
+                    end
         else
           version = file.version
         end
@@ -88,7 +92,7 @@ module Homebrew
           f.version > version
         end
 
-        if file_is_stale || ARGV.switch?("s") && !f.installed? || Utils::Bottles::file_outdated?(f, file)
+        if file_is_stale || ARGV.switch?("s") && !f.installed? || Utils::Bottles.file_outdated?(f, file)
           cleanup_path(file) { file.unlink }
         end
       end
@@ -117,8 +121,8 @@ module Homebrew
 
     def self.rm_DS_Store
       paths = Queue.new
-      %w[Cellar Frameworks Library bin etc include lib opt sbin share var].
-        map { |p| HOMEBREW_PREFIX/p }.each { |p| paths << p if p.exist? }
+      %w[Cellar Frameworks Library bin etc include lib opt sbin share var]
+        .map { |p| HOMEBREW_PREFIX/p }.each { |p| paths << p if p.exist? }
       workers = (0...Hardware::CPU.cores).map do
         Thread.new do
           Kernel.loop do
diff --git a/Library/Homebrew/compilers.rb b/Library/Homebrew/compilers.rb
index b8bc708fab..7f0e16d78e 100644
--- a/Library/Homebrew/compilers.rb
+++ b/Library/Homebrew/compilers.rb
@@ -1,12 +1,12 @@
 # @private
 module CompilerConstants
-  GNU_GCC_VERSIONS = %w[4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 6 7]
+  GNU_GCC_VERSIONS = %w[4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 6 7].freeze
   GNU_GCC_REGEXP = /^gcc-(4\.[3-9]|[5-7])$/
   COMPILER_SYMBOL_MAP = {
     "gcc-4.0"  => :gcc_4_0,
     "gcc-4.2"  => :gcc,
     "clang"    => :clang,
-  }
+  }.freeze
 
   COMPILERS = COMPILER_SYMBOL_MAP.values +
               GNU_GCC_VERSIONS.map { |n| "gcc-#{n}" }
@@ -70,7 +70,7 @@ class CompilerFailure
     :openmp => [
       create(:clang),
     ],
-  }
+  }.freeze
 end
 
 class CompilerSelector
@@ -82,7 +82,7 @@ class CompilerSelector
     :clang   => [:clang, :gcc, :gnu, :gcc_4_0],
     :gcc     => [:gcc, :gnu, :clang, :gcc_4_0],
     :gcc_4_0 => [:gcc_4_0, :gcc, :gnu, :clang],
-  }
+  }.freeze
 
   def self.select_for(formula, compilers = self.compilers)
     new(formula, DevelopmentTools, compilers).compiler
@@ -103,7 +103,7 @@ class CompilerSelector
 
   def compiler
     find_compiler { |c| return c.name unless fails_with?(c) }
-    raise CompilerSelectionError.new(formula)
+    raise CompilerSelectionError, formula
   end
 
   private
diff --git a/Library/Homebrew/debrew.rb b/Library/Homebrew/debrew.rb
index 7b1b507359..48d449f4a2 100644
--- a/Library/Homebrew/debrew.rb
+++ b/Library/Homebrew/debrew.rb
@@ -110,7 +110,7 @@ module Debrew
                              try_lock
 
     begin
-      puts "#{e.backtrace.first}"
+      puts e.backtrace.first.to_s
       puts "#{Tty.red}#{e.class.name}#{Tty.reset}: #{e}"
 
       loop do
diff --git a/Library/Homebrew/dependable.rb b/Library/Homebrew/dependable.rb
index 0620ffe32a..0834b08eca 100644
--- a/Library/Homebrew/dependable.rb
+++ b/Library/Homebrew/dependable.rb
@@ -1,7 +1,7 @@
 require "options"
 
 module Dependable
-  RESERVED_TAGS = [:build, :optional, :recommended, :run, :linked]
+  RESERVED_TAGS = [:build, :optional, :recommended, :run, :linked].freeze
 
   def build?
     tags.include? :build
diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb
index 122828191d..08b5fc12bd 100644
--- a/Library/Homebrew/dependency_collector.rb
+++ b/Library/Homebrew/dependency_collector.rb
@@ -145,20 +145,19 @@ class DependencyCollector
     tags << :build
     strategy = spec.download_strategy
 
-    case
-    when strategy <= CurlDownloadStrategy
+    if strategy <= CurlDownloadStrategy
       parse_url_spec(spec.url, tags)
-    when strategy <= GitDownloadStrategy
+    elsif strategy <= GitDownloadStrategy
       GitRequirement.new(tags)
-    when strategy <= MercurialDownloadStrategy
+    elsif strategy <= MercurialDownloadStrategy
       MercurialRequirement.new(tags)
-    when strategy <= FossilDownloadStrategy
+    elsif strategy <= FossilDownloadStrategy
       Dependency.new("fossil", tags)
-    when strategy <= BazaarDownloadStrategy
+    elsif strategy <= BazaarDownloadStrategy
       Dependency.new("bazaar", tags)
-    when strategy <= CVSDownloadStrategy
+    elsif strategy <= CVSDownloadStrategy
       Dependency.new("cvs", tags) if MacOS.version >= :mavericks || !MacOS::Xcode.provides_cvs?
-    when strategy < AbstractDownloadStrategy
+    elsif strategy < AbstractDownloadStrategy
       # allow unknown strategies to pass through
     else
       raise TypeError,
diff --git a/Library/Homebrew/descriptions.rb b/Library/Homebrew/descriptions.rb
index 9c53414616..fe9c9aeaf8 100644
--- a/Library/Homebrew/descriptions.rb
+++ b/Library/Homebrew/descriptions.rb
@@ -6,7 +6,7 @@ class Descriptions
   CACHE_FILE = HOMEBREW_CACHE + "desc_cache.json"
 
   def self.cache
-    @cache || self.load_cache
+    @cache || load_cache
   end
 
   # If the cache file exists, load it into, and return, a hash; otherwise,
@@ -31,7 +31,7 @@ class Descriptions
     Formula.each do |f|
       @cache[f.full_name] = f.desc
     end
-    self.save_cache
+    save_cache
   end
 
   # Return true if the cache exists, and none of the Taps
@@ -51,7 +51,7 @@ class Descriptions
 
   # Create the cache if it doesn't already exist.
   def self.ensure_cache
-    self.generate_cache unless self.cache_fresh? && self.cache
+    generate_cache unless cache_fresh? && cache
   end
 
   # Take a {Report}, as generated by cmd/update.rb.
@@ -66,8 +66,8 @@ class Descriptions
         renamings = report.select_formula(:R)
         alterations = report.select_formula(:A) + report.select_formula(:M) +
                       renamings.map(&:last)
-        self.cache_formulae(alterations, :save => false)
-        self.uncache_formulae(report.select_formula(:D) +
+        cache_formulae(alterations, :save => false)
+        uncache_formulae(report.select_formula(:D) +
                               renamings.map(&:first))
       end
     end
@@ -76,7 +76,7 @@ class Descriptions
   # Given an array of formula names, add them and their descriptions to the
   # cache. Save the updated cache to disk, unless explicitly told not to.
   def self.cache_formulae(formula_names, options = { :save => true })
-    if self.cache
+    if cache
       formula_names.each do |name|
         begin
           desc = Formulary.factory(name).desc
@@ -84,22 +84,22 @@ class Descriptions
         end
         @cache[name] = desc
       end
-      self.save_cache if options[:save]
+      save_cache if options[:save]
     end
   end
 
   # Given an array of formula names, remove them and their descriptions from
   # the cache. Save the updated cache to disk, unless explicitly told not to.
   def self.uncache_formulae(formula_names, options = { :save => true })
-    if self.cache
+    if cache
       formula_names.each { |name| @cache.delete(name) }
-      self.save_cache if options[:save]
+      save_cache if options[:save]
     end
   end
 
   # Given a regex, find all formulae whose specified fields contain a match.
   def self.search(regex, field = :either)
-    self.ensure_cache
+    ensure_cache
 
     results = case field
     when :name
@@ -138,6 +138,6 @@ class Descriptions
 
   def short_name_counts
     @short_name_counts ||=
-      short_names.values.reduce(Hash.new(0)) { |counts, name| counts[name] += 1; counts }
+      short_names.values.each_with_object(Hash.new(0)) { |name, counts| counts[name] += 1; counts }
   end
 end
diff --git a/Library/Homebrew/development_tools.rb b/Library/Homebrew/development_tools.rb
index 93372bbc55..14e1a07f7f 100644
--- a/Library/Homebrew/development_tools.rb
+++ b/Library/Homebrew/development_tools.rb
@@ -27,7 +27,11 @@ class DevelopmentTools
 
     def default_cc
       cc = DevelopmentTools.locate "cc"
-      cc.realpath.basename.to_s rescue nil
+      begin
+        cc.realpath.basename.to_s
+      rescue
+        nil
+      end
     end
 
     def default_compiler
diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb
index e2e2d50c48..457b23630a 100644
--- a/Library/Homebrew/diagnostic.rb
+++ b/Library/Homebrew/diagnostic.rb
@@ -412,11 +412,11 @@ module Homebrew
             unless $seen_prefix_bin
               # only show the doctor message if there are any conflicts
               # rationale: a default install should not trigger any brew doctor messages
-              conflicts = Dir["#{HOMEBREW_PREFIX}/bin/*"].
-                          map { |fn| File.basename fn }.
-                          select { |bn| File.exist? "/usr/bin/#{bn}" }
+              conflicts = Dir["#{HOMEBREW_PREFIX}/bin/*"]
+                          .map { |fn| File.basename fn }
+                          .select { |bn| File.exist? "/usr/bin/#{bn}" }
 
-              if conflicts.size > 0
+              unless conflicts.empty?
                 message = inject_file_list conflicts, <<-EOS.undent
                   /usr/bin occurs before #{HOMEBREW_PREFIX}/bin
                   This means that system-provided programs will be used instead of those
@@ -456,7 +456,7 @@ module Homebrew
 
         # Don't complain about sbin not being in the path if it doesn't exist
         sbin = (HOMEBREW_PREFIX+"sbin")
-        return unless sbin.directory? && sbin.children.length > 0
+        return unless sbin.directory? && !sbin.children.empty?
 
         <<-EOS.undent
           Homebrew's sbin was not found in your PATH but you have installed
@@ -515,7 +515,11 @@ module Homebrew
         return if @found.empty?
 
         # Our gettext formula will be caught by check_linked_keg_only_brews
-        gettext = Formulary.factory("gettext") rescue nil
+        gettext = begin
+                    Formulary.factory("gettext")
+                  rescue
+                    nil
+                  end
         homebrew_owned = @found.all? do |path|
           Pathname.new(path).realpath.to_s.start_with? "#{HOMEBREW_CELLAR}/gettext"
         end
@@ -532,7 +536,11 @@ module Homebrew
         find_relative_paths("lib/libiconv.dylib", "include/iconv.h")
         return if @found.empty?
 
-        libiconv = Formulary.factory("libiconv") rescue nil
+        libiconv = begin
+                     Formulary.factory("libiconv")
+                   rescue
+                     nil
+                   end
         if libiconv && libiconv.linked_keg.directory?
           unless libiconv.keg_only?
             <<-EOS.undent
@@ -806,9 +814,9 @@ module Homebrew
           libexpat.framework
           libcurl.framework
         ]
-        frameworks_found = frameworks_to_check.
-          map { |framework| "/Library/Frameworks/#{framework}" }.
-          select { |framework| File.exist? framework }
+        frameworks_found = frameworks_to_check
+                           .map { |framework| "/Library/Frameworks/#{framework}" }
+                           .select { |framework| File.exist? framework }
         return if frameworks_found.empty?
 
         inject_file_list frameworks_found, <<-EOS.undent
@@ -885,11 +893,10 @@ module Homebrew
       def check_for_old_homebrew_share_python_in_path
         message = ""
         ["", "3"].map do |suffix|
-          if paths.include?((HOMEBREW_PREFIX/"share/python#{suffix}").to_s)
-            message += <<-EOS.undent
+          next unless paths.include?((HOMEBREW_PREFIX/"share/python#{suffix}").to_s)
+          message += <<-EOS.undent
               #{HOMEBREW_PREFIX}/share/python#{suffix} is not needed in PATH.
-            EOS
-          end
+          EOS
         end
         unless message.empty?
           message += <<-EOS.undent
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb
index cd09fc1e26..c1642c9b38 100644
--- a/Library/Homebrew/download_strategy.rb
+++ b/Library/Homebrew/download_strategy.rb
@@ -59,14 +59,13 @@ class AbstractDownloadStrategy
   def expand_safe_system_args(args)
     args = args.dup
     args.each_with_index do |arg, ii|
-      if arg.is_a? Hash
-        unless ARGV.verbose?
-          args[ii] = arg[:quiet_flag]
-        else
-          args.delete_at ii
-        end
-        return args
+      next unless arg.is_a? Hash
+      if ARGV.verbose?
+        args.delete_at ii
+      else
+        args[ii] = arg[:quiet_flag]
       end
+      return args
     end
     # 2 as default because commands are eg. svn up, git pull
     args.insert(2, "-q") unless ARGV.verbose?
@@ -234,7 +233,7 @@ class AbstractFileDownloadStrategy < AbstractDownloadStrategy
       with_system_path { buffered_write("bunzip2") }
     when :gzip, :bzip2, :compress, :tar
       # Assume these are also tarred
-      tar_flags = (ARGV.verbose? && ENV["TRAVIS"].nil?) ? "xv" : "x"
+      tar_flags = ARGV.verbose? && ENV["TRAVIS"].nil? ? "xv" : "x"
       # Older versions of tar require an explicit format flag
       if cached_location.compression_type == :gzip
         tar_flags << "z"
@@ -269,7 +268,11 @@ class AbstractFileDownloadStrategy < AbstractDownloadStrategy
     entries = Dir["*"]
     case entries.length
     when 0 then raise "Empty archive"
-    when 1 then Dir.chdir entries.first rescue nil
+    when 1 then begin
+                  Dir.chdir entries.first
+                rescue
+                  nil
+                end
     end
   end
 
@@ -324,7 +327,9 @@ class CurlDownloadStrategy < AbstractFileDownloadStrategy
   def fetch
     ohai "Downloading #{@url}"
 
-    unless cached_location.exist?
+    if cached_location.exist?
+      puts "Already downloaded: #{cached_location}"
+    else
       had_incomplete_download = temporary_path.exist?
       begin
         _fetch
@@ -337,12 +342,10 @@ class CurlDownloadStrategy < AbstractFileDownloadStrategy
           had_incomplete_download = false
           retry
         else
-          raise CurlDownloadStrategyError.new(@url)
+          raise CurlDownloadStrategyError, @url
         end
       end
       ignore_interrupts { temporary_path.rename(cached_location) }
-    else
-      puts "Already downloaded: #{cached_location}"
     end
   rescue CurlDownloadStrategyError
     raise if mirrors.empty?
@@ -377,7 +380,7 @@ class CurlDownloadStrategy < AbstractFileDownloadStrategy
       if !ENV["HOMEBREW_NO_INSECURE_REDIRECT"].nil? && url.start_with?("https://") &&
          urls.any? { |u| !u.start_with? "https://" }
         puts "HTTPS to HTTP redirect detected & HOMEBREW_NO_INSECURE_REDIRECT is set."
-        raise CurlDownloadStrategyError.new(url)
+        raise CurlDownloadStrategyError, url
       end
       url = urls.last
     end
@@ -613,8 +616,8 @@ class GitDownloadStrategy < VCSDownloadStrategy
     %r{git://},
     %r{https://github\.com},
     %r{http://git\.sv\.gnu\.org},
-    %r{http://llvm\.org}
-  ]
+    %r{http://llvm\.org},
+  ].freeze
 
   def initialize(name, resource)
     super
@@ -764,7 +767,8 @@ class GitDownloadStrategy < VCSDownloadStrategy
     # in 2.8.3. Clones created with affected version remain broken.)
     # See https://github.com/Homebrew/homebrew-core/pull/1520 for an example.
     submodule_dirs = Utils.popen_read(
-      "git", "submodule", "--quiet", "foreach", "--recursive", "pwd")
+      "git", "submodule", "--quiet", "foreach", "--recursive", "pwd"
+    )
     submodule_dirs.lines.map(&:chomp).each do |submodule_dir|
       work_dir = Pathname.new(submodule_dir)
 
diff --git a/Library/Homebrew/emoji.rb b/Library/Homebrew/emoji.rb
index 8c58ca8952..ade3309478 100644
--- a/Library/Homebrew/emoji.rb
+++ b/Library/Homebrew/emoji.rb
@@ -17,7 +17,7 @@ module Emoji
     def enabled?
       !ENV["HOMEBREW_NO_EMOJI"]
     end
-    alias generic_enabled? enabled?
+    alias_method :generic_enabled?, :enabled?
   end
 end
 
diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb
index 4d1559c280..9743f691ab 100644
--- a/Library/Homebrew/exceptions.rb
+++ b/Library/Homebrew/exceptions.rb
@@ -482,7 +482,7 @@ class DuplicateResourceError < ArgumentError
 end
 
 # raised when a single patch file is not found and apply hasn't been specified
-class MissingApplyError < RuntimeError ; end
+class MissingApplyError < RuntimeError; end
 
 class BottleVersionMismatchError < RuntimeError
   def initialize(bottle_file, bottle_version, formula, formula_version)
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 2c24c93d7b..ffaa1a3b57 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -418,7 +418,7 @@ class Formula
   # exists and is not empty.
   # @private
   def installed?
-    (dir = installed_prefix).directory? && dir.children.length > 0
+    (dir = installed_prefix).directory? && !dir.children.empty?
   end
 
   # If at least one version of {Formula} is installed.
@@ -451,7 +451,7 @@ class Formula
     prefix(head_version) if head_version
   end
 
-  def head_version_outdated?(version, options={})
+  def head_version_outdated?(version, options = {})
     tab = Tab.for_keg(prefix(version))
 
     return true if tab.version_scheme < version_scheme
@@ -802,7 +802,7 @@ class Formula
   #    <string>/dev/null</string>
   #  </plist>
   #  EOS
-  #end</pre>
+  # end</pre>
   def plist
     nil
   end
@@ -1061,7 +1061,7 @@ class Formula
   # @private
   def outdated_versions(options = {})
     @outdated_versions ||= Hash.new do |cache, key|
-      raise Migrator::MigrationNeededError.new(self) if migration_needed?
+      raise Migrator::MigrationNeededError, self if migration_needed?
       cache[key] = _outdated_versions(key)
     end
     @outdated_versions[options]
@@ -1348,7 +1348,7 @@ class Formula
         "stable" => (stable.version.to_s if stable),
         "bottle" => bottle ? true : false,
         "devel" => (devel.version.to_s if devel),
-        "head" => (head.version.to_s if head)
+        "head" => (head.version.to_s if head),
       },
       "revision" => revision,
       "version_scheme" => version_scheme,
@@ -1362,7 +1362,7 @@ class Formula
       "optional_dependencies" => deps.select(&:optional?).map(&:name).uniq,
       "build_dependencies" => deps.select(&:build?).map(&:name).uniq,
       "conflicts_with" => conflicts.map(&:name),
-      "caveats" => caveats
+      "caveats" => caveats,
     }
 
     hsh["requirements"] = requirements.map do |req|
@@ -1370,7 +1370,7 @@ class Formula
         "name" => req.name,
         "default_formula" => req.default_formula,
         "cask" => req.cask,
-        "download" => req.download
+        "download" => req.download,
       }
     end
 
@@ -1385,8 +1385,7 @@ class Formula
       bottle_spec = spec.bottle_specification
       bottle_info = {
         "rebuild" => bottle_spec.rebuild,
-        "cellar" => (cellar = bottle_spec.cellar).is_a?(Symbol) ? \
-                    cellar.inspect : cellar,
+        "cellar" => (cellar = bottle_spec.cellar).is_a?(Symbol) ? cellar.inspect : cellar,
         "prefix" => bottle_spec.prefix,
         "root_url" => bottle_spec.root_url,
       }
@@ -1408,7 +1407,7 @@ class Formula
         "version" => keg.version.to_s,
         "used_options" => tab.used_options.as_flags,
         "built_as_bottle" => tab.built_as_bottle,
-        "poured_from_bottle" => tab.poured_from_bottle
+        "poured_from_bottle" => tab.poured_from_bottle,
       }
     end
 
@@ -1561,11 +1560,10 @@ class Formula
             while buf = rd.gets
               log.puts buf
               # make sure dots printed with interval of at least 1 min.
-              if (Time.now - last_dot) > 60
-                print "."
-                $stdout.flush
-                last_dot = Time.now
-              end
+              next unless (Time.now - last_dot) > 60
+              print "."
+              $stdout.flush
+              last_dot = Time.now
             end
             puts
           else
@@ -1665,7 +1663,11 @@ class Formula
     $stderr.reopen(out)
     out.close
     args.collect!(&:to_s)
-    exec(cmd, *args) rescue nil
+    begin
+      exec(cmd, *args)
+    rescue
+      nil
+    end
     puts "Failed to execute: #{cmd}"
     exit! 1 # never gets here unless exec threw or failed
   end
@@ -1677,7 +1679,8 @@ class Formula
       env_home = buildpath/".brew_home"
       mkdir_p env_home
 
-      old_home, ENV["HOME"] = ENV["HOME"], env_home
+      old_home = ENV["HOME"]
+      ENV["HOME"] = env_home
       old_curl_home = ENV["CURL_HOME"]
       ENV["CURL_HOME"] = old_curl_home || old_home
       setup_home env_home
diff --git a/Library/Homebrew/formula_cellar_checks.rb b/Library/Homebrew/formula_cellar_checks.rb
index f527c453bd..3805d0f45c 100644
--- a/Library/Homebrew/formula_cellar_checks.rb
+++ b/Library/Homebrew/formula_cellar_checks.rb
@@ -166,7 +166,7 @@ module FormulaCellarChecks
     audit_check_output(check_elisp_dirname(formula.share, formula.name))
     audit_check_output(check_elisp_root(formula.share, formula.name))
   end
-  alias generic_audit_installed audit_installed
+  alias_method :generic_audit_installed, :audit_installed
 
   private
 
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb
index cb62e62068..d86ca9edec 100644
--- a/Library/Homebrew/formula_installer.rb
+++ b/Library/Homebrew/formula_installer.rb
@@ -67,7 +67,7 @@ class FormulaInstaller
   def self.prevent_build_flags
     build_flags = ARGV.collect_build_flags
 
-    raise BuildFlagsError.new(build_flags) unless build_flags.empty?
+    raise BuildFlagsError, build_flags unless build_flags.empty?
   end
 
   def build_bottle?
@@ -191,7 +191,7 @@ class FormulaInstaller
     check_conflicts
 
     if !pour_bottle? && !formula.bottle_unneeded? && !DevelopmentTools.installed?
-      raise BuildToolsError.new([formula])
+      raise BuildToolsError, [formula]
     end
 
     unless skip_deps_check?
@@ -244,7 +244,7 @@ class FormulaInstaller
         @pour_failed = true
         onoe e.message
         opoo "Bottle installation failed: building from source."
-        raise BuildToolsError.new([formula]) unless DevelopmentTools.installed?
+        raise BuildToolsError, [formula] unless DevelopmentTools.installed?
       else
         @poured_bottle = true
       end
@@ -317,7 +317,7 @@ class FormulaInstaller
       dep_f.pour_bottle? || dep_f.bottle_unneeded?
     end
 
-    raise BuildToolsError.new(unbottled) unless unbottled.empty?
+    raise BuildToolsError, unbottled unless unbottled.empty?
   end
 
   def compute_and_install_dependencies
@@ -336,7 +336,7 @@ class FormulaInstaller
       end
     end
 
-    raise UnsatisfiedRequirements.new(fatals) unless fatals.empty?
+    raise UnsatisfiedRequirements, fatals unless fatals.empty?
   end
 
   def install_requirement_default_formula?(req, dependent, build)
diff --git a/Library/Homebrew/formula_pin.rb b/Library/Homebrew/formula_pin.rb
index 18352c93bf..0558c714c3 100644
--- a/Library/Homebrew/formula_pin.rb
+++ b/Library/Homebrew/formula_pin.rb
@@ -16,7 +16,7 @@ class FormulaPin
   end
 
   def pin
-    pin_at(@f.installed_kegs.map { |keg| keg.version }.max)
+    pin_at(@f.installed_kegs.map(&:version).max)
   end
 
   def unpin
diff --git a/Library/Homebrew/formula_support.rb b/Library/Homebrew/formula_support.rb
index c649bf5021..83855d1317 100644
--- a/Library/Homebrew/formula_support.rb
+++ b/Library/Homebrew/formula_support.rb
@@ -58,7 +58,7 @@ end
 
 # Used to annotate formulae that don't require compiling or cannot build bottle.
 class BottleDisableReason
-  SUPPORTED_TYPES = [:unneeded, :disable]
+  SUPPORTED_TYPES = [:unneeded, :disable].freeze
 
   def initialize(type, reason)
     @type = type
diff --git a/Library/Homebrew/formula_versions.rb b/Library/Homebrew/formula_versions.rb
index e5a0c0aea0..ec2e2a459f 100644
--- a/Library/Homebrew/formula_versions.rb
+++ b/Library/Homebrew/formula_versions.rb
@@ -5,7 +5,7 @@ class FormulaVersions
     ArgumentError, NameError, SyntaxError, TypeError,
     FormulaSpecificationError, FormulaValidationError,
     ErrorDuringExecution, LoadError, FormulaMethodDeprecatedError
-  ]
+  ].freeze
 
   attr_reader :name, :path, :repository, :entry_name
 
diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb
index cbad28fc78..8b0f69af1b 100644
--- a/Library/Homebrew/formulary.rb
+++ b/Library/Homebrew/formulary.rb
@@ -28,9 +28,9 @@ class Formulary
     begin
       mod.const_get(class_name)
     rescue NameError => original_exception
-      class_list = mod.constants.
-        map { |const_name| mod.const_get(const_name) }.
-        select { |const| const.is_a?(Class) }
+      class_list = mod.constants
+                      .map { |const_name| mod.const_get(const_name) }
+                      .select { |const| const.is_a?(Class) }
       e = FormulaClassUnavailableError.new(name, path, class_name, class_list)
       raise e, "", original_exception.backtrace
     end
@@ -90,7 +90,7 @@ class Formulary
 
     def load_file
       $stderr.puts "#{$0} (#{self.class.name}): loading #{path}" if ARGV.debug?
-      raise FormulaUnavailableError.new(name) unless path.file?
+      raise FormulaUnavailableError, name unless path.file?
       Formulary.load_formula_from_path(name, path)
     end
   end
@@ -188,7 +188,7 @@ class Formulary
     end
 
     def get_formula(_spec)
-      raise FormulaUnavailableError.new(name)
+      raise FormulaUnavailableError, name
     end
   end
 
@@ -353,11 +353,11 @@ class Formulary
     name = name.downcase
     taps.map do |tap|
       Pathname.glob([
-        "#{tap}Formula/#{name}.rb",
-        "#{tap}HomebrewFormula/#{name}.rb",
-        "#{tap}#{name}.rb",
-        "#{tap}Aliases/#{name}",
-      ]).detect(&:file?)
+                      "#{tap}Formula/#{name}.rb",
+                      "#{tap}HomebrewFormula/#{name}.rb",
+                      "#{tap}#{name}.rb",
+                      "#{tap}Aliases/#{name}",
+                    ]).detect(&:file?)
     end.compact
   end
 
diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb
index 8472eba5cb..adb4ebc324 100644
--- a/Library/Homebrew/global.rb
+++ b/Library/Homebrew/global.rb
@@ -16,7 +16,7 @@ ARGV.extend(HomebrewArgvExtension)
 
 HOMEBREW_PRODUCT = ENV["HOMEBREW_PRODUCT"]
 HOMEBREW_VERSION = ENV["HOMEBREW_VERSION"]
-HOMEBREW_WWW = "http://brew.sh"
+HOMEBREW_WWW = "http://brew.sh".freeze
 
 require "config"
 
@@ -26,7 +26,7 @@ RUBY_PATH = Pathname.new(RbConfig.ruby)
 RUBY_BIN = RUBY_PATH.dirname
 
 HOMEBREW_USER_AGENT_CURL = ENV["HOMEBREW_USER_AGENT_CURL"]
-HOMEBREW_USER_AGENT_RUBY = "#{ENV["HOMEBREW_USER_AGENT"]} ruby/#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
+HOMEBREW_USER_AGENT_RUBY = "#{ENV["HOMEBREW_USER_AGENT"]} ruby/#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}".freeze
 
 HOMEBREW_CURL_ARGS = [
   "--fail",
@@ -54,7 +54,13 @@ HOMEBREW_PULL_OR_COMMIT_URL_REGEX = %r[https://github\.com/([\w-]+)/([\w-]+)?/(?
 
 require "compat" unless ARGV.include?("--no-compat") || ENV["HOMEBREW_NO_COMPAT"]
 
-ORIGINAL_PATHS = ENV["PATH"].split(File::PATH_SEPARATOR).map { |p| Pathname.new(p).expand_path rescue nil }.compact.freeze
+ORIGINAL_PATHS = ENV["PATH"].split(File::PATH_SEPARATOR).map do |p|
+  begin
+                                                    Pathname.new(p).expand_path
+                                                  rescue
+                                                    nil
+                                                  end
+end.compact.freeze
 
 # TODO: remove this as soon as it's removed from commands.rb.
 HOMEBREW_INTERNAL_COMMAND_ALIASES = {
@@ -71,5 +77,5 @@ HOMEBREW_INTERNAL_COMMAND_ALIASES = {
   "dr" => "doctor",
   "--repo" => "--repository",
   "environment" => "--env",
-  "--config" => "config"
-}
+  "--config" => "config",
+}.freeze
diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb
index febb60971b..640ecbc72c 100644
--- a/Library/Homebrew/keg.rb
+++ b/Library/Homebrew/keg.rb
@@ -64,7 +64,7 @@ class Keg
   # locale-specific directories have the form language[_territory][.codeset][@modifier]
   LOCALEDIR_RX = /(locale|man)\/([a-z]{2}|C|POSIX)(_[A-Z]{2})?(\.[a-zA-Z\-0-9]+(@.+)?)?/
   INFOFILE_RX = %r{info/([^.].*?\.info|dir)$}
-  TOP_LEVEL_DIRECTORIES = %w[bin etc include lib sbin share var Frameworks]
+  TOP_LEVEL_DIRECTORIES = %w[bin etc include lib sbin share var Frameworks].freeze
   ALL_TOP_LEVEL_DIRECTORIES = (TOP_LEVEL_DIRECTORIES + %w[lib/pkgconfig share/locale share/man opt]).freeze
   PRUNEABLE_DIRECTORIES = %w[bin etc include lib sbin share Frameworks LinkedKegs var/homebrew].map do |d|
     case d when "LinkedKegs" then HOMEBREW_LIBRARY/d else HOMEBREW_PREFIX/d end
@@ -80,7 +80,7 @@ class Keg
     man/cat5 man/cat6 man/cat7 man/cat8
     applications gnome gnome/help icons
     mime-info pixmaps sounds postgresql
-  ]
+  ].freeze
 
   # if path is a file in a keg then this will return the containing Keg object
   def self.for(path)
@@ -216,17 +216,16 @@ class Keg
         dirs << dst if dst.directory? && !dst.symlink?
 
         # check whether the file to be unlinked is from the current keg first
-        if dst.symlink? && src == dst.resolved_path
-          if mode.dry_run
-            puts dst
-            Find.prune if src.directory?
-            next
-          end
-
-          dst.uninstall_info if dst.to_s =~ INFOFILE_RX
-          dst.unlink
+        next unless dst.symlink? && src == dst.resolved_path
+        if mode.dry_run
+          puts dst
           Find.prune if src.directory?
+          next
         end
+
+        dst.uninstall_info if dst.to_s =~ INFOFILE_RX
+        dst.unlink
+        Find.prune if src.directory?
       end
     end
 
@@ -301,7 +300,7 @@ class Keg
   end
 
   def link(mode = OpenStruct.new)
-    raise AlreadyLinkedError.new(self) if linked_keg_record.directory?
+    raise AlreadyLinkedError, self if linked_keg_record.directory?
 
     ObserverPathnameExtension.reset_counts!
 
@@ -319,7 +318,6 @@ class Keg
       when "locale/locale.alias" then :skip_file
       when INFOFILE_RX then :info
       when LOCALEDIR_RX then :mkpath
-      when *SHARE_PATHS then :mkpath
       when /^icons\/.*\/icon-theme\.cache$/ then :skip_file
       # all icons subfolders should also mkpath
       when /^icons\// then :mkpath
@@ -328,6 +326,7 @@ class Keg
       # Lua, Lua51, Lua53 all need the same handling.
       when /^lua\// then :mkpath
       when %r{^guile/} then :mkpath
+      when *SHARE_PATHS then :mkpath
       else :link
       end
     end
diff --git a/Library/Homebrew/keg_relocate.rb b/Library/Homebrew/keg_relocate.rb
index 864e2f97ba..646293d0fe 100644
--- a/Library/Homebrew/keg_relocate.rb
+++ b/Library/Homebrew/keg_relocate.rb
@@ -12,9 +12,9 @@ class Keg
       end
     end
   end
-  alias generic_fix_dynamic_linkage fix_dynamic_linkage
+  alias_method :generic_fix_dynamic_linkage, :fix_dynamic_linkage
 
-  def relocate_dynamic_linkage(old_prefix, new_prefix, old_cellar, new_cellar)
+  def relocate_dynamic_linkage(_old_prefix, _new_prefix, _old_cellar, _new_cellar)
     []
   end
 
@@ -40,7 +40,7 @@ class Keg
     end
   end
 
-  def detect_cxx_stdlibs(options = {})
+  def detect_cxx_stdlibs(_options = {})
     []
   end
 
@@ -101,7 +101,7 @@ class Keg
     symlink_files
   end
 
-  def self.file_linked_libraries(file, string)
+  def self.file_linked_libraries(_file, _string)
     []
   end
 end
diff --git a/Library/Homebrew/metafiles.rb b/Library/Homebrew/metafiles.rb
index 6d8f71f2a9..bef48f3cf6 100644
--- a/Library/Homebrew/metafiles.rb
+++ b/Library/Homebrew/metafiles.rb
@@ -3,11 +3,11 @@ class Metafiles
   EXTENSIONS = %w[
     .adoc .asc .asciidoc .creole .html .markdown .md .mdown .mediawiki .mkdn
     .org .pod .rdoc .rst .rtf .textile .txt .wiki
-  ]
+  ].freeze
   BASENAMES = %w[
     about authors changelog changes copying copyright history license licence
     news notes notice readme todo
-  ]
+  ].freeze
 
   def self.list?(file)
     return false if %w[.DS_Store INSTALL_RECEIPT.json].include?(file)
diff --git a/Library/Homebrew/migrator.rb b/Library/Homebrew/migrator.rb
index 550f8e51a6..5490cc083d 100644
--- a/Library/Homebrew/migrator.rb
+++ b/Library/Homebrew/migrator.rb
@@ -86,11 +86,11 @@ class Migrator
   def initialize(formula)
     @oldname = formula.oldname
     @newname = formula.name
-    raise MigratorNoOldnameError.new(formula) unless oldname
+    raise MigratorNoOldnameError, formula unless oldname
 
     @formula = formula
     @old_cellar = HOMEBREW_CELLAR/formula.oldname
-    raise MigratorNoOldpathError.new(formula) unless old_cellar.exist?
+    raise MigratorNoOldpathError, formula unless old_cellar.exist?
 
     @old_tabs = old_cellar.subdirs.map { |d| Tab.for_keg(Keg.new(d)) }
     @old_tap = old_tabs.first.tap
diff --git a/Library/Homebrew/patch.rb b/Library/Homebrew/patch.rb
index 9adb1ffeee..a2e735c423 100644
--- a/Library/Homebrew/patch.rb
+++ b/Library/Homebrew/patch.rb
@@ -130,7 +130,7 @@ class ExternalPatch
       patch_dir = Pathname.pwd
       if patch_files.empty?
         children = patch_dir.children
-        if (children.length == 1 && children.first.file?)
+        if children.length == 1 && children.first.file?
           patch_files << children.first.basename
         else
           raise MissingApplyError, <<-EOS.undent
diff --git a/Library/Homebrew/sandbox.rb b/Library/Homebrew/sandbox.rb
index dece2e4a58..fa97bef187 100644
--- a/Library/Homebrew/sandbox.rb
+++ b/Library/Homebrew/sandbox.rb
@@ -111,7 +111,7 @@ class Sandbox
     logs = Utils.popen_read("syslog", *syslog_args)
 
     # These messages are confusing and non-fatal, so don't report them.
-    logs = logs.lines.reject{ |l| l.match(/^.*Python\(\d+\) deny file-write.*pyc$/) }.join
+    logs = logs.lines.reject { |l| l.match(/^.*Python\(\d+\) deny file-write.*pyc$/) }.join
 
     unless logs.empty?
       if @logfile
diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb
index 84b94ce483..11a19b4c3a 100644
--- a/Library/Homebrew/software_spec.rb
+++ b/Library/Homebrew/software_spec.rb
@@ -15,8 +15,8 @@ class SoftwareSpec
   PREDEFINED_OPTIONS = {
     :universal => Option.new("universal", "Build a universal binary"),
     :cxx11     => Option.new("c++11", "Build using C++11 mode"),
-    "32-bit"   => Option.new("32-bit", "Build 32-bit only")
-  }
+    "32-bit"   => Option.new("32-bit", "Build 32-bit only"),
+  }.freeze
 
   attr_reader :name, :full_name, :owner
   attr_reader :build, :resources, :patches, :options
@@ -72,9 +72,7 @@ class SoftwareSpec
     !!@bottle_disable_reason
   end
 
-  def bottle_disable_reason
-    @bottle_disable_reason
-  end
+  attr_reader :bottle_disable_reason
 
   def bottle_defined?
     !bottle_specification.collector.keys.empty?
@@ -85,7 +83,7 @@ class SoftwareSpec
       (bottle_specification.compatible_cellar? || ARGV.force_bottle?)
   end
 
-  def bottle(disable_type = nil, disable_reason = nil,  &block)
+  def bottle(disable_type = nil, disable_reason = nil, &block)
     if disable_type
       @bottle_disable_reason = BottleDisableReason.new(disable_type, disable_reason)
     else
@@ -99,7 +97,7 @@ class SoftwareSpec
 
   def resource(name, klass = Resource, &block)
     if block_given?
-      raise DuplicateResourceError.new(name) if resource_defined?(name)
+      raise DuplicateResourceError, name if resource_defined?(name)
       res = klass.new(name, &block)
       resources[name] = res
       dependency_collector.add(res)
@@ -144,11 +142,10 @@ class SoftwareSpec
 
           old_flag = deprecated_option.old_flag
           new_flag = deprecated_option.current_flag
-          if @flags.include? old_flag
-            @flags -= [old_flag]
-            @flags |= [new_flag]
-            @deprecated_flags << deprecated_option
-          end
+          next unless @flags.include? old_flag
+          @flags -= [old_flag]
+          @flags |= [new_flag]
+          @deprecated_flags << deprecated_option
         end
       end
     end
@@ -340,7 +337,13 @@ class BottleSpecification
   def checksums
     checksums = {}
     os_versions = collector.keys
-    os_versions.map! { |osx| MacOS::Version.from_symbol osx rescue nil }.compact!
+    os_versions.map! do |osx|
+      begin
+                               MacOS::Version.from_symbol osx
+                             rescue
+                               nil
+                             end
+    end.compact!
     os_versions.sort.reverse_each do |os_version|
       osx = os_version.to_sym
       checksum = collector[osx]
diff --git a/Library/Homebrew/system_config.rb b/Library/Homebrew/system_config.rb
index 516c9c20a4..830c9ec335 100644
--- a/Library/Homebrew/system_config.rb
+++ b/Library/Homebrew/system_config.rb
@@ -57,7 +57,7 @@ class SystemConfig
     end
 
     def describe_perl
-      describe_path(which "perl")
+      describe_path(which("perl"))
     end
 
     def describe_python
diff --git a/Library/Homebrew/tab.rb b/Library/Homebrew/tab.rb
index 69e44d9dd8..53338a0355 100644
--- a/Library/Homebrew/tab.rb
+++ b/Library/Homebrew/tab.rb
@@ -9,7 +9,7 @@ require "development_tools"
 # should not be called directly, instead use one of the class methods like
 # `Tab.create`.
 class Tab < OpenStruct
-  FILENAME = "INSTALL_RECEIPT.json"
+  FILENAME = "INSTALL_RECEIPT.json".freeze
   CACHE = {}
 
   def self.clear_cache
@@ -39,8 +39,8 @@ class Tab < OpenStruct
           "devel" => formula.devel ? formula.devel.version.to_s : nil,
           "head" => formula.head ? formula.head.version.to_s : nil,
           "version_scheme" => formula.version_scheme,
-        }
-      }
+        },
+      },
     }
 
     new(attributes)
@@ -65,7 +65,7 @@ class Tab < OpenStruct
     end
 
     if attributes["source"]["tap"] == "mxcl/master" ||
-      attributes["source"]["tap"] == "Homebrew/homebrew"
+       attributes["source"]["tap"] == "Homebrew/homebrew"
       attributes["source"]["tap"] = "homebrew/core"
     end
 
@@ -154,7 +154,7 @@ class Tab < OpenStruct
           "devel" => f.devel ? f.devel.version.to_s : nil,
           "head" => f.head ? f.head.version.to_s : nil,
           "version_scheme" => f.version_scheme,
-        }
+        },
       }
     end
 
@@ -181,8 +181,8 @@ class Tab < OpenStruct
           "devel" => nil,
           "head" => nil,
           "version_scheme" => 0,
-        }
-      }
+        },
+      },
     }
 
     new(attributes)
@@ -303,7 +303,7 @@ class Tab < OpenStruct
       "HEAD" => self.HEAD,
       "stdlib" => (stdlib.to_s if stdlib),
       "compiler" => (compiler.to_s if compiler),
-      "source" => source
+      "source" => source,
     }
 
     Utils::JSON.dump(attributes)
diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb
index 340f6eca31..334ceb81b4 100644
--- a/Library/Homebrew/tap.rb
+++ b/Library/Homebrew/tap.rb
@@ -280,7 +280,7 @@ class Tap
   # True if the {#remote} of {Tap} is customized.
   def custom_remote?
     return true unless remote
-    remote.casecmp(default_remote) != 0
+    remote.casecmp(default_remote).nonzero?
   end
 
   # path to the directory of all {Formula} files for this {Tap}.
@@ -356,7 +356,7 @@ class Tap
   # @private
   def alias_table
     return @alias_table if @alias_table
-    @alias_table = Hash.new
+    @alias_table = {}
     alias_files.each do |alias_file|
       @alias_table[alias_file_to_name(alias_file)] = formula_file_to_name(alias_file.resolved_path)
     end
@@ -367,7 +367,7 @@ class Tap
   # @private
   def alias_reverse_table
     return @alias_reverse_table if @alias_reverse_table
-    @alias_reverse_table = Hash.new
+    @alias_reverse_table = {}
     alias_table.each do |alias_name, formula_name|
       @alias_reverse_table[formula_name] ||= []
       @alias_reverse_table[formula_name] << alias_name
@@ -421,7 +421,7 @@ class Tap
       "formula_names" => formula_names,
       "formula_files" => formula_files.map(&:to_s),
       "command_files" => command_files.map(&:to_s),
-      "pinned" => pinned?
+      "pinned" => pinned?,
     }
 
     if installed?
@@ -457,7 +457,7 @@ class Tap
 
   def ==(other)
     other = Tap.fetch(other) if other.is_a?(String)
-    self.class == other.class && self.name == other.name
+    self.class == other.class && name == other.name
   end
 
   def self.each
@@ -505,7 +505,6 @@ class Tap
       end
     end
   end
-
 end
 
 # A specialized {Tap} class for the core formulae
diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb
index 0d9f45149b..520db66268 100644
--- a/Library/Homebrew/version.rb
+++ b/Library/Homebrew/version.rb
@@ -33,7 +33,7 @@ class Version
       when NullToken
         0
       when NumericToken
-        other.value == 0 ? 0 : -1
+        other.value.zero? ? 0 : -1
       when AlphaToken, BetaToken, RCToken
         1
       else
@@ -292,9 +292,9 @@ class Version
 
     stem = if spec.directory?
       spec.basename.to_s
-    elsif %r{((?:sourceforge\.net|sf\.net)/.*)/download$}.match(spec_s)
+    elsif %r{((?:sourceforge\.net|sf\.net)/.*)/download$} =~ spec_s
       Pathname.new(spec.dirname).stem
-    elsif %r{\.[^a-zA-Z]+$}.match(spec_s)
+    elsif /\.[^a-zA-Z]+$/ =~ spec_s
       Pathname.new(spec_s).basename
     else
       spec.stem
-- 
GitLab