diff options
77 files changed, 188 insertions, 45 deletions
| diff --git a/Library/Homebrew/.rubocop_todo.yml b/Library/Homebrew/.rubocop_todo.yml index 4c6a4bbc5..6a31cdecd 100644 --- a/Library/Homebrew/.rubocop_todo.yml +++ b/Library/Homebrew/.rubocop_todo.yml @@ -66,7 +66,7 @@ Metrics/BlockNesting:  # Offense count: 19  # Configuration parameters: CountComments.  Metrics/ModuleLength: -  Max: 366 +  Max: 400  # Offense count: 2  # Configuration parameters: CountKeywordArgs. diff --git a/Library/Homebrew/build_environment.rb b/Library/Homebrew/build_environment.rb index b66aafcdf..e3299fb94 100644 --- a/Library/Homebrew/build_environment.rb +++ b/Library/Homebrew/build_environment.rb @@ -32,6 +32,8 @@ module BuildEnvironmentDSL  end  module Homebrew +  module_function +    def build_env_keys(env)      %w[        CC CXX LD OBJC OBJCXX diff --git a/Library/Homebrew/cmd/--cache.rb b/Library/Homebrew/cmd/--cache.rb index d73d0cce1..2c407cefe 100644 --- a/Library/Homebrew/cmd/--cache.rb +++ b/Library/Homebrew/cmd/--cache.rb @@ -7,6 +7,8 @@  require "cmd/fetch"  module Homebrew +  module_function +    def __cache      if ARGV.named.empty?        puts HOMEBREW_CACHE diff --git a/Library/Homebrew/cmd/--cellar.rb b/Library/Homebrew/cmd/--cellar.rb index e1c641ce1..f35847ead 100644 --- a/Library/Homebrew/cmd/--cellar.rb +++ b/Library/Homebrew/cmd/--cellar.rb @@ -7,6 +7,8 @@  #:    without any sort of versioned directory as the last path.  module Homebrew +  module_function +    def __cellar      if ARGV.named.empty?        puts HOMEBREW_CELLAR diff --git a/Library/Homebrew/cmd/--env.rb b/Library/Homebrew/cmd/--env.rb index 0feb338dc..323964dad 100644 --- a/Library/Homebrew/cmd/--env.rb +++ b/Library/Homebrew/cmd/--env.rb @@ -6,6 +6,8 @@ require "build_environment"  require "utils/shell"  module Homebrew +  module_function +    def __env      ENV.activate_extensions!      ENV.deps = ARGV.formulae if superenv? diff --git a/Library/Homebrew/cmd/--prefix.rb b/Library/Homebrew/cmd/--prefix.rb index 07b43693c..c59830833 100644 --- a/Library/Homebrew/cmd/--prefix.rb +++ b/Library/Homebrew/cmd/--prefix.rb @@ -5,6 +5,8 @@  #:    Display the location in the cellar where <formula> is or would be installed.  module Homebrew +  module_function +    def __prefix      if ARGV.named.empty?        puts HOMEBREW_PREFIX diff --git a/Library/Homebrew/cmd/--repository.rb b/Library/Homebrew/cmd/--repository.rb index b3ad8367a..7a25aba1c 100644 --- a/Library/Homebrew/cmd/--repository.rb +++ b/Library/Homebrew/cmd/--repository.rb @@ -8,6 +8,8 @@  require "tap"  module Homebrew +  module_function +    def __repository      if ARGV.named.empty?        puts HOMEBREW_REPOSITORY diff --git a/Library/Homebrew/cmd/--version.rb b/Library/Homebrew/cmd/--version.rb index 9a571abe1..736048341 100644 --- a/Library/Homebrew/cmd/--version.rb +++ b/Library/Homebrew/cmd/--version.rb @@ -2,6 +2,8 @@  #:    Print the version number of Homebrew to standard output and exit.  module Homebrew +  module_function +    def __version      # As a special case, `--version` is implemented directly in `brew.rb`. This      # file merely serves as a container for the documentation. It also catches diff --git a/Library/Homebrew/cmd/analytics.rb b/Library/Homebrew/cmd/analytics.rb index 649c53710..2efa5a2d2 100644 --- a/Library/Homebrew/cmd/analytics.rb +++ b/Library/Homebrew/cmd/analytics.rb @@ -9,6 +9,8 @@  #:    Regenerate UUID used in Homebrew's analytics.  module Homebrew +  module_function +    def analytics      config_file = HOMEBREW_REPOSITORY/".git/config" diff --git a/Library/Homebrew/cmd/cat.rb b/Library/Homebrew/cmd/cat.rb index a2fbd2f00..7439869d3 100644 --- a/Library/Homebrew/cmd/cat.rb +++ b/Library/Homebrew/cmd/cat.rb @@ -2,6 +2,8 @@  #:    Display the source to <formula>.  module Homebrew +  module_function +    def cat      # do not "fix" this to support multiple arguments, the output would be      # unparsable, if the user wants to cat multiple formula they can call diff --git a/Library/Homebrew/cmd/cleanup.rb b/Library/Homebrew/cmd/cleanup.rb index 6e0915c9a..5b46e0872 100644 --- a/Library/Homebrew/cmd/cleanup.rb +++ b/Library/Homebrew/cmd/cleanup.rb @@ -15,6 +15,8 @@ require "cleanup"  require "utils"  module Homebrew +  module_function +    def cleanup      if ARGV.named.empty?        Cleanup.cleanup diff --git a/Library/Homebrew/cmd/command.rb b/Library/Homebrew/cmd/command.rb index b76468f62..39e8ba6fc 100644 --- a/Library/Homebrew/cmd/command.rb +++ b/Library/Homebrew/cmd/command.rb @@ -4,6 +4,8 @@  require "commands"  module Homebrew +  module_function +    def command      abort "This command requires a command argument" if ARGV.empty?      cmd = ARGV.first diff --git a/Library/Homebrew/cmd/commands.rb b/Library/Homebrew/cmd/commands.rb index 4fad764ca..f6445d560 100644 --- a/Library/Homebrew/cmd/commands.rb +++ b/Library/Homebrew/cmd/commands.rb @@ -5,6 +5,8 @@  #:    With `--include-aliases`, the aliases of internal commands will be included.  module Homebrew +  module_function +    def commands      if ARGV.include? "--quiet"        cmds = internal_commands + external_commands @@ -48,8 +50,6 @@ module Homebrew      end.sort    end -  private -    def find_internal_commands(directory)      directory.children.each_with_object([]) do |f, cmds|        cmds << f.basename.to_s.sub(/\.(?:rb|sh)$/, "") if f.file? diff --git a/Library/Homebrew/cmd/config.rb b/Library/Homebrew/cmd/config.rb index b5f2502b0..daaa51f32 100644 --- a/Library/Homebrew/cmd/config.rb +++ b/Library/Homebrew/cmd/config.rb @@ -6,6 +6,8 @@  require "system_config"  module Homebrew +  module_function +    def config      SystemConfig.dump_verbose_config    end diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb index acaf922d7..a5089392f 100644 --- a/Library/Homebrew/cmd/deps.rb +++ b/Library/Homebrew/cmd/deps.rb @@ -42,6 +42,8 @@ require "formula"  require "ostruct"  module Homebrew +  module_function +    def deps      mode = OpenStruct.new(        installed?: ARGV.include?("--installed"), diff --git a/Library/Homebrew/cmd/desc.rb b/Library/Homebrew/cmd/desc.rb index 9bb737e40..3ef02288b 100644 --- a/Library/Homebrew/cmd/desc.rb +++ b/Library/Homebrew/cmd/desc.rb @@ -12,6 +12,8 @@ require "descriptions"  require "cmd/search"  module Homebrew +  module_function +    def desc      search_type = []      search_type << :either if ARGV.flag? "--search" diff --git a/Library/Homebrew/cmd/diy.rb b/Library/Homebrew/cmd/diy.rb index 95ec7fe35..a8f6440df 100644 --- a/Library/Homebrew/cmd/diy.rb +++ b/Library/Homebrew/cmd/diy.rb @@ -11,6 +11,8 @@  require "formula"  module Homebrew +  module_function +    def diy      path = Pathname.getwd diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 0fcd3a74d..cca2dca03 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -8,6 +8,8 @@  require "diagnostic"  module Homebrew +  module_function +    def doctor      inject_dump_stats!(Diagnostic::Checks, /^check_*/) if ARGV.switch? "D" diff --git a/Library/Homebrew/cmd/fetch.rb b/Library/Homebrew/cmd/fetch.rb index 9c42eda23..f92ef03b2 100644 --- a/Library/Homebrew/cmd/fetch.rb +++ b/Library/Homebrew/cmd/fetch.rb @@ -24,6 +24,8 @@  require "formula"  module Homebrew +  module_function +    def fetch      raise FormulaUnspecifiedError if ARGV.named.empty? @@ -93,8 +95,6 @@ module Homebrew      opoo "Patch reports different #{e.hash_type}: #{e.expected}"    end -  private -    def retry_fetch?(f)      @fetch_failed ||= Set.new      if ARGV.include?("--retry") && @fetch_failed.add?(f) diff --git a/Library/Homebrew/cmd/gist-logs.rb b/Library/Homebrew/cmd/gist-logs.rb index 200ad9fb5..e55eefc17 100644 --- a/Library/Homebrew/cmd/gist-logs.rb +++ b/Library/Homebrew/cmd/gist-logs.rb @@ -15,6 +15,8 @@ require "stringio"  require "socket"  module Homebrew +  module_function +    def gistify_logs(f)      files = load_logs(f.logs)      build_time = f.logs.ctime diff --git a/Library/Homebrew/cmd/help.rb b/Library/Homebrew/cmd/help.rb index bfcb6838d..982e24965 100644 --- a/Library/Homebrew/cmd/help.rb +++ b/Library/Homebrew/cmd/help.rb @@ -34,6 +34,8 @@ EOS  require "commands"  module Homebrew +  module_function +    def help(cmd = nil, flags = {})      # Resolve command aliases and find file containing the implementation.      if cmd @@ -71,8 +73,6 @@ module Homebrew      exit 0    end -  private -    def command_help(path)      help_lines = path.read.lines.grep(/^#:/)      if help_lines.empty? diff --git a/Library/Homebrew/cmd/home.rb b/Library/Homebrew/cmd/home.rb index 0c3009545..50f3936e8 100644 --- a/Library/Homebrew/cmd/home.rb +++ b/Library/Homebrew/cmd/home.rb @@ -5,6 +5,8 @@  #:    Open <formula>'s homepage in a browser.  module Homebrew +  module_function +    def home      if ARGV.named.empty?        exec_browser HOMEBREW_WWW diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb index 2cfb89ea5..fefabf85f 100644 --- a/Library/Homebrew/cmd/info.rb +++ b/Library/Homebrew/cmd/info.rb @@ -25,6 +25,8 @@ require "tab"  require "utils/json"  module Homebrew +  module_function +    def info      # eventually we'll solidify an API, but we'll keep old versions      # awhile around for compatibility diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index 402a159db..ffb7eeab3 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -64,6 +64,8 @@ require "hardware"  require "development_tools"  module Homebrew +  module_function +    def install      raise FormulaUnspecifiedError if ARGV.named.empty? diff --git a/Library/Homebrew/cmd/irb.rb b/Library/Homebrew/cmd/irb.rb index 1db0855bb..d162e3f4a 100644 --- a/Library/Homebrew/cmd/irb.rb +++ b/Library/Homebrew/cmd/irb.rb @@ -19,6 +19,8 @@ class String  end  module Homebrew +  module_function +    def irb      if ARGV.include? "--examples"        puts "'v8'.f # => instance of the v8 formula" diff --git a/Library/Homebrew/cmd/leaves.rb b/Library/Homebrew/cmd/leaves.rb index 37e379d49..4038aee4c 100644 --- a/Library/Homebrew/cmd/leaves.rb +++ b/Library/Homebrew/cmd/leaves.rb @@ -6,6 +6,8 @@ require "tab"  require "set"  module Homebrew +  module_function +    def leaves      installed = Formula.installed      deps_of_installed = Set.new diff --git a/Library/Homebrew/cmd/link.rb b/Library/Homebrew/cmd/link.rb index 6486e6f18..98cf98bf7 100644 --- a/Library/Homebrew/cmd/link.rb +++ b/Library/Homebrew/cmd/link.rb @@ -15,6 +15,8 @@  require "ostruct"  module Homebrew +  module_function +    def link      raise KegUnspecifiedError if ARGV.named.empty? @@ -71,8 +73,6 @@ module Homebrew      end    end -  private -    def keg_only?(rack)      Formulary.from_rack(rack).keg_only?    rescue FormulaUnavailableError, TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError diff --git a/Library/Homebrew/cmd/linkapps.rb b/Library/Homebrew/cmd/linkapps.rb index c7685855f..bd88409aa 100644 --- a/Library/Homebrew/cmd/linkapps.rb +++ b/Library/Homebrew/cmd/linkapps.rb @@ -11,6 +11,8 @@ require "keg"  require "formula"  module Homebrew +  module_function +    def linkapps      target_dir = linkapps_target(local: ARGV.include?("--local")) @@ -55,8 +57,6 @@ module Homebrew      end    end -  private -    def linkapps_target(opts = {})      local = opts.fetch(:local, false)      Pathname.new(local ? "~/Applications" : "/Applications").expand_path diff --git a/Library/Homebrew/cmd/list.rb b/Library/Homebrew/cmd/list.rb index 43a03829e..01af678a7 100644 --- a/Library/Homebrew/cmd/list.rb +++ b/Library/Homebrew/cmd/list.rb @@ -22,6 +22,8 @@ require "metafiles"  require "formula"  module Homebrew +  module_function +    def list      # Use of exec means we don't explicitly exit      list_unbrewed if ARGV.flag? "--unbrewed" @@ -58,8 +60,6 @@ module Homebrew      end    end -  private -    UNBREWED_EXCLUDE_FILES = %w[.DS_Store].freeze    UNBREWED_EXCLUDE_PATHS = %w[      .github/* diff --git a/Library/Homebrew/cmd/log.rb b/Library/Homebrew/cmd/log.rb index 9492c1e1e..81f972b02 100644 --- a/Library/Homebrew/cmd/log.rb +++ b/Library/Homebrew/cmd/log.rb @@ -5,6 +5,8 @@  require "formula"  module Homebrew +  module_function +    def log      if ARGV.named.empty?        cd HOMEBREW_REPOSITORY @@ -16,8 +18,6 @@ module Homebrew      end    end -  private -    def git_log(path = nil)      if File.exist? "#{`git rev-parse --show-toplevel`.chomp}/.git/shallow"        opoo <<-EOS.undent diff --git a/Library/Homebrew/cmd/migrate.rb b/Library/Homebrew/cmd/migrate.rb index 27ca5261f..2726b1480 100644 --- a/Library/Homebrew/cmd/migrate.rb +++ b/Library/Homebrew/cmd/migrate.rb @@ -8,6 +8,8 @@  require "migrator"  module Homebrew +  module_function +    def migrate      raise FormulaUnspecifiedError if ARGV.named.empty? diff --git a/Library/Homebrew/cmd/missing.rb b/Library/Homebrew/cmd/missing.rb index bbd514223..525461108 100644 --- a/Library/Homebrew/cmd/missing.rb +++ b/Library/Homebrew/cmd/missing.rb @@ -7,6 +7,8 @@ require "tab"  require "diagnostic"  module Homebrew +  module_function +    def missing      return unless HOMEBREW_CELLAR.exist? diff --git a/Library/Homebrew/cmd/options.rb b/Library/Homebrew/cmd/options.rb index 690acd016..843d3a1ee 100644 --- a/Library/Homebrew/cmd/options.rb +++ b/Library/Homebrew/cmd/options.rb @@ -12,6 +12,8 @@ require "formula"  require "options"  module Homebrew +  module_function +    def options      if ARGV.include? "--all"        puts_options Formula.to_a diff --git a/Library/Homebrew/cmd/outdated.rb b/Library/Homebrew/cmd/outdated.rb index a6fa1f003..5dc77857e 100644 --- a/Library/Homebrew/cmd/outdated.rb +++ b/Library/Homebrew/cmd/outdated.rb @@ -21,6 +21,8 @@ require "formula"  require "keg"  module Homebrew +  module_function +    def outdated      formulae = if ARGV.resolved_formulae.empty?        Formula.installed diff --git a/Library/Homebrew/cmd/pin.rb b/Library/Homebrew/cmd/pin.rb index a54ef6e7b..c5087f6d4 100644 --- a/Library/Homebrew/cmd/pin.rb +++ b/Library/Homebrew/cmd/pin.rb @@ -5,6 +5,8 @@  require "formula"  module Homebrew +  module_function +    def pin      raise FormulaUnspecifiedError if ARGV.named.empty? diff --git a/Library/Homebrew/cmd/postinstall.rb b/Library/Homebrew/cmd/postinstall.rb index e0bd8e31b..1e205e65d 100644 --- a/Library/Homebrew/cmd/postinstall.rb +++ b/Library/Homebrew/cmd/postinstall.rb @@ -4,6 +4,8 @@  require "sandbox"  module Homebrew +  module_function +    def postinstall      ARGV.resolved_formulae.each { |f| run_post_install(f) if f.post_install_defined? }    end diff --git a/Library/Homebrew/cmd/prune.rb b/Library/Homebrew/cmd/prune.rb index 83979064a..e2e6d77b8 100644 --- a/Library/Homebrew/cmd/prune.rb +++ b/Library/Homebrew/cmd/prune.rb @@ -12,6 +12,8 @@ require "cmd/tap"  require "cmd/unlinkapps"  module Homebrew +  module_function +    def prune      ObserverPathnameExtension.reset_counts! diff --git a/Library/Homebrew/cmd/readall.rb b/Library/Homebrew/cmd/readall.rb index e77e68865..7c1a085c9 100644 --- a/Library/Homebrew/cmd/readall.rb +++ b/Library/Homebrew/cmd/readall.rb @@ -9,6 +9,8 @@  require "readall"  module Homebrew +  module_function +    def readall      if ARGV.include?("--syntax")        ruby_files = [] diff --git a/Library/Homebrew/cmd/reinstall.rb b/Library/Homebrew/cmd/reinstall.rb index bda6022bf..618835d74 100644 --- a/Library/Homebrew/cmd/reinstall.rb +++ b/Library/Homebrew/cmd/reinstall.rb @@ -5,6 +5,8 @@ require "formula_installer"  require "development_tools"  module Homebrew +  module_function +    def reinstall      FormulaInstaller.prevent_build_flags unless DevelopmentTools.installed? diff --git a/Library/Homebrew/cmd/search.rb b/Library/Homebrew/cmd/search.rb index 5342b23b6..8d6e5ad7c 100644 --- a/Library/Homebrew/cmd/search.rb +++ b/Library/Homebrew/cmd/search.rb @@ -21,6 +21,8 @@ require "official_taps"  require "descriptions"  module Homebrew +  module_function +    SEARCH_ERROR_QUEUE = Queue.new    def search diff --git a/Library/Homebrew/cmd/sh.rb b/Library/Homebrew/cmd/sh.rb index 11f57b660..09e7f435e 100644 --- a/Library/Homebrew/cmd/sh.rb +++ b/Library/Homebrew/cmd/sh.rb @@ -9,6 +9,8 @@ require "extend/ENV"  require "formula"  module Homebrew +  module_function +    def sh      ENV.activate_extensions! diff --git a/Library/Homebrew/cmd/style.rb b/Library/Homebrew/cmd/style.rb index e666eb200..9538b890a 100644 --- a/Library/Homebrew/cmd/style.rb +++ b/Library/Homebrew/cmd/style.rb @@ -17,6 +17,8 @@ require "utils"  require "utils/json"  module Homebrew +  module_function +    def style      target = if ARGV.named.empty?        nil diff --git a/Library/Homebrew/cmd/switch.rb b/Library/Homebrew/cmd/switch.rb index a44514880..6eed1fd96 100644 --- a/Library/Homebrew/cmd/switch.rb +++ b/Library/Homebrew/cmd/switch.rb @@ -6,6 +6,8 @@ require "keg"  require "cmd/link"  module Homebrew +  module_function +    def switch      if ARGV.named.length != 2        onoe "Usage: brew switch <name> <version>" diff --git a/Library/Homebrew/cmd/tap-info.rb b/Library/Homebrew/cmd/tap-info.rb index 432d51287..f31bf480c 100644 --- a/Library/Homebrew/cmd/tap-info.rb +++ b/Library/Homebrew/cmd/tap-info.rb @@ -18,6 +18,8 @@  require "tap"  module Homebrew +  module_function +    def tap_info      if ARGV.include? "--installed"        taps = Tap @@ -34,8 +36,6 @@ module Homebrew      end    end -  private -    def print_tap_info(taps)      if taps.none?        tap_count = 0 diff --git a/Library/Homebrew/cmd/tap-pin.rb b/Library/Homebrew/cmd/tap-pin.rb index 74e9fae3f..41957f265 100644 --- a/Library/Homebrew/cmd/tap-pin.rb +++ b/Library/Homebrew/cmd/tap-pin.rb @@ -5,6 +5,8 @@  require "tap"  module Homebrew +  module_function +    def tap_pin      ARGV.named.each do |name|        tap = Tap.fetch(name) diff --git a/Library/Homebrew/cmd/tap-unpin.rb b/Library/Homebrew/cmd/tap-unpin.rb index 7ea2831f2..05bfc7c8b 100644 --- a/Library/Homebrew/cmd/tap-unpin.rb +++ b/Library/Homebrew/cmd/tap-unpin.rb @@ -4,6 +4,8 @@  require "tap"  module Homebrew +  module_function +    def tap_unpin      ARGV.named.each do |name|        tap = Tap.fetch(name) diff --git a/Library/Homebrew/cmd/tap.rb b/Library/Homebrew/cmd/tap.rb index 8ad63e4ba..5b4ed2475 100644 --- a/Library/Homebrew/cmd/tap.rb +++ b/Library/Homebrew/cmd/tap.rb @@ -34,6 +34,8 @@  require "tap"  module Homebrew +  module_function +    def tap      if ARGV.include? "--repair"        Tap.each(&:link_manpages) diff --git a/Library/Homebrew/cmd/uninstall.rb b/Library/Homebrew/cmd/uninstall.rb index f4ca8ff87..8bcfc31fb 100644 --- a/Library/Homebrew/cmd/uninstall.rb +++ b/Library/Homebrew/cmd/uninstall.rb @@ -9,6 +9,8 @@ require "formula"  require "migrator"  module Homebrew +  module_function +    def uninstall      raise KegUnspecifiedError if ARGV.named.empty? diff --git a/Library/Homebrew/cmd/unlink.rb b/Library/Homebrew/cmd/unlink.rb index adf091709..a105f9c56 100644 --- a/Library/Homebrew/cmd/unlink.rb +++ b/Library/Homebrew/cmd/unlink.rb @@ -9,6 +9,8 @@  require "ostruct"  module Homebrew +  module_function +    def unlink      raise KegUnspecifiedError if ARGV.named.empty? diff --git a/Library/Homebrew/cmd/unlinkapps.rb b/Library/Homebrew/cmd/unlinkapps.rb index fc53470ec..d04ef9ee4 100644 --- a/Library/Homebrew/cmd/unlinkapps.rb +++ b/Library/Homebrew/cmd/unlinkapps.rb @@ -12,14 +12,14 @@  require "cmd/linkapps"  module Homebrew +  module_function +    def unlinkapps      target_dir = linkapps_target(local: ARGV.include?("--local"))      unlinkapps_from_dir(target_dir, dry_run: ARGV.dry_run?)    end -  private -    def unlinkapps_prune(opts = {})      opts = opts.merge(prune: true)      unlinkapps_from_dir(linkapps_target(local: false), opts) diff --git a/Library/Homebrew/cmd/unpack.rb b/Library/Homebrew/cmd/unpack.rb index 1a3044c2e..6f4caea18 100644 --- a/Library/Homebrew/cmd/unpack.rb +++ b/Library/Homebrew/cmd/unpack.rb @@ -13,6 +13,8 @@ require "stringio"  require "formula"  module Homebrew +  module_function +    def unpack      formulae = ARGV.formulae      raise FormulaUnspecifiedError if formulae.empty? diff --git a/Library/Homebrew/cmd/unpin.rb b/Library/Homebrew/cmd/unpin.rb index 4eb476bdf..a669df1ec 100644 --- a/Library/Homebrew/cmd/unpin.rb +++ b/Library/Homebrew/cmd/unpin.rb @@ -5,6 +5,8 @@  require "formula"  module Homebrew +  module_function +    def unpin      raise FormulaUnspecifiedError if ARGV.named.empty? diff --git a/Library/Homebrew/cmd/untap.rb b/Library/Homebrew/cmd/untap.rb index be91191b5..0d363b7b5 100644 --- a/Library/Homebrew/cmd/untap.rb +++ b/Library/Homebrew/cmd/untap.rb @@ -4,6 +4,8 @@  require "tap"  module Homebrew +  module_function +    def untap      raise "Usage is `brew untap <tap-name>`" if ARGV.empty? diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb index 357bc3fc1..a76167feb 100644 --- a/Library/Homebrew/cmd/update-report.rb +++ b/Library/Homebrew/cmd/update-report.rb @@ -10,6 +10,8 @@ require "cleanup"  require "utils"  module Homebrew +  module_function +    def update_preinstall_header      @header_already_printed ||= begin        ohai "Auto-updated Homebrew!" if ARGV.include?("--preinstall") @@ -106,8 +108,6 @@ module Homebrew      end    end -  private -    def shorten_revision(revision)      Utils.popen_read("git", "-C", HOMEBREW_REPOSITORY, "rev-parse", "--short", revision).chomp    end diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb index f2c3799ab..40805b4ca 100644 --- a/Library/Homebrew/cmd/upgrade.rb +++ b/Library/Homebrew/cmd/upgrade.rb @@ -18,6 +18,8 @@ require "cleanup"  require "development_tools"  module Homebrew +  module_function +    def upgrade      FormulaInstaller.prevent_build_flags unless DevelopmentTools.installed? diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb index 79b57eb23..4acf1b9f1 100644 --- a/Library/Homebrew/cmd/uses.rb +++ b/Library/Homebrew/cmd/uses.rb @@ -23,6 +23,8 @@ require "formula"  # The intersection is harder to achieve with shell tools.  module Homebrew +  module_function +    def uses      raise FormulaUnspecifiedError if ARGV.named.empty? diff --git a/Library/Homebrew/compat.rb b/Library/Homebrew/compat.rb index 98624aebd..69b45683a 100644 --- a/Library/Homebrew/compat.rb +++ b/Library/Homebrew/compat.rb @@ -2,6 +2,7 @@ require "compat/fails_with_llvm"  require "compat/tap"  require "compat/formula"  require "compat/formula_specialties" +require "compat/global"  require "compat/hardware"  require "compat/macos"  require "compat/md5" diff --git a/Library/Homebrew/compat/global.rb b/Library/Homebrew/compat/global.rb new file mode 100644 index 000000000..797e9ffe5 --- /dev/null +++ b/Library/Homebrew/compat/global.rb @@ -0,0 +1,16 @@ +module Homebrew +  module_function + +  def method_missing(method, *args, &block) +    if instance_methods.include?(method) +      # odeprecated "#{self}##{method}", "'module_function' or 'def self.#{method}' to convert it to a class method" +      return instance_method(method).bind(self).call(*args, &block) +    end +    super +  end + +  def respond_to_missing?(method, include_private = false) +    return true if method_defined?(method) +    super(method, include_private) +  end +end diff --git a/Library/Homebrew/dev-cmd/aspell-dictionaries.rb b/Library/Homebrew/dev-cmd/aspell-dictionaries.rb index cbb88ffe5..86ad037ce 100644 --- a/Library/Homebrew/dev-cmd/aspell-dictionaries.rb +++ b/Library/Homebrew/dev-cmd/aspell-dictionaries.rb @@ -7,6 +7,8 @@ require "resource"  require "formula"  module Homebrew +  module_function +    def aspell_dictionaries      dict_url    = "http://ftpmirror.gnu.org/aspell/dict"      dict_mirror = "https://ftp.gnu.org/gnu/aspell/dict" diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 9d7a3ba92..4a86f4c04 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -37,6 +37,8 @@ require "cmd/style"  require "date"  module Homebrew +  module_function +    def audit      Homebrew.inject_dump_stats!(FormulaAuditor, /^audit_/) if ARGV.switch? "D" diff --git a/Library/Homebrew/dev-cmd/boneyard-formula-pr.rb b/Library/Homebrew/dev-cmd/boneyard-formula-pr.rb index 890c9c4a0..a0739dbe9 100644 --- a/Library/Homebrew/dev-cmd/boneyard-formula-pr.rb +++ b/Library/Homebrew/dev-cmd/boneyard-formula-pr.rb @@ -19,6 +19,8 @@ rescue LoadError  end  module Homebrew +  module_function +    def boneyard_formula_pr      local_only = ARGV.include?("--local")      formula = ARGV.formulae.first diff --git a/Library/Homebrew/dev-cmd/bottle.rb b/Library/Homebrew/dev-cmd/bottle.rb index b62af1044..c6a8503b7 100644 --- a/Library/Homebrew/dev-cmd/bottle.rb +++ b/Library/Homebrew/dev-cmd/bottle.rb @@ -41,6 +41,8 @@ EOS  MAXIMUM_STRING_MATCHES = 100  module Homebrew +  module_function +    def keg_contain?(string, keg, ignores)      @put_string_exists_header, @put_filenames = nil diff --git a/Library/Homebrew/dev-cmd/bump-formula-pr.rb b/Library/Homebrew/dev-cmd/bump-formula-pr.rb index 31e9cd2c1..32e4b52a2 100644 --- a/Library/Homebrew/dev-cmd/bump-formula-pr.rb +++ b/Library/Homebrew/dev-cmd/bump-formula-pr.rb @@ -35,6 +35,8 @@  require "formula"  module Homebrew +  module_function +    def inreplace_pairs(path, replacement_pairs)      if ARGV.dry_run?        contents = path.open("r") { |f| Formulary.ensure_utf8_encoding(f).read } diff --git a/Library/Homebrew/dev-cmd/create.rb b/Library/Homebrew/dev-cmd/create.rb index 19fd251b7..11544dbef 100644 --- a/Library/Homebrew/dev-cmd/create.rb +++ b/Library/Homebrew/dev-cmd/create.rb @@ -24,6 +24,8 @@ require "digest"  require "erb"  module Homebrew +  module_function +    # Create a formula from a tarball URL    def create      # Allow searching MacPorts or Fink. diff --git a/Library/Homebrew/dev-cmd/edit.rb b/Library/Homebrew/dev-cmd/edit.rb index 2d2a5ec08..df5bc0605 100644 --- a/Library/Homebrew/dev-cmd/edit.rb +++ b/Library/Homebrew/dev-cmd/edit.rb @@ -7,6 +7,8 @@  require "formula"  module Homebrew +  module_function +    def edit      unless (HOMEBREW_REPOSITORY/".git").directory?        raise <<-EOS.undent diff --git a/Library/Homebrew/dev-cmd/linkage.rb b/Library/Homebrew/dev-cmd/linkage.rb index 993420c02..44e0f224e 100644 --- a/Library/Homebrew/dev-cmd/linkage.rb +++ b/Library/Homebrew/dev-cmd/linkage.rb @@ -13,6 +13,8 @@  require "os/mac/linkage_checker"  module Homebrew +  module_function +    def linkage      ARGV.kegs.each do |keg|        ohai "Checking #{keg.name} linkage" if ARGV.kegs.size > 1 diff --git a/Library/Homebrew/dev-cmd/man.rb b/Library/Homebrew/dev-cmd/man.rb index d34d559f7..3395fa673 100644 --- a/Library/Homebrew/dev-cmd/man.rb +++ b/Library/Homebrew/dev-cmd/man.rb @@ -12,6 +12,8 @@ require "erb"  require "ostruct"  module Homebrew +  module_function +    SOURCE_PATH = HOMEBREW_LIBRARY_PATH/"manpages"    TARGET_MAN_PATH = HOMEBREW_REPOSITORY/"manpages"    TARGET_DOC_PATH = HOMEBREW_REPOSITORY/"docs" @@ -32,8 +34,6 @@ module Homebrew      end    end -  private -    def regenerate_man_pages      Homebrew.install_gem_setup_path! "ronn" diff --git a/Library/Homebrew/dev-cmd/mirror.rb b/Library/Homebrew/dev-cmd/mirror.rb index 9966163f8..bd5868726 100644 --- a/Library/Homebrew/dev-cmd/mirror.rb +++ b/Library/Homebrew/dev-cmd/mirror.rb @@ -3,6 +3,8 @@  #:    Reuploads the stable URL for a formula to Bintray to use it as a mirror.  module Homebrew +  module_function +    def mirror      odie "This command requires at least formula argument!" if ARGV.named.empty? diff --git a/Library/Homebrew/dev-cmd/pull.rb b/Library/Homebrew/dev-cmd/pull.rb index 857c55993..7e6e86a85 100644 --- a/Library/Homebrew/dev-cmd/pull.rb +++ b/Library/Homebrew/dev-cmd/pull.rb @@ -40,6 +40,8 @@ require "version"  require "pkg_version"  module Homebrew +  module_function +    def pull      odie "You meant `git pull --rebase`." if ARGV[0] == "--rebase" @@ -235,8 +237,6 @@ module Homebrew      str.force_encoding("UTF-8") if str.respond_to?(:force_encoding)    end -  private -    def publish_changed_formula_bottles(_tap, changed_formulae_names)      if ENV["HOMEBREW_DISABLE_LOAD_FORMULA"]        raise "Need to load formulae to publish them!" diff --git a/Library/Homebrew/dev-cmd/tap-readme.rb b/Library/Homebrew/dev-cmd/tap-readme.rb index e1a3e0eb4..cf5af85eb 100644 --- a/Library/Homebrew/dev-cmd/tap-readme.rb +++ b/Library/Homebrew/dev-cmd/tap-readme.rb @@ -2,6 +2,8 @@  #:    Generate the README.md file for a new tap.  module Homebrew +  module_function +    def tap_readme      name = ARGV.first      raise "A name is required" if name.nil? diff --git a/Library/Homebrew/dev-cmd/test.rb b/Library/Homebrew/dev-cmd/test.rb index c20edf804..4898629b0 100644 --- a/Library/Homebrew/dev-cmd/test.rb +++ b/Library/Homebrew/dev-cmd/test.rb @@ -21,6 +21,8 @@ require "sandbox"  require "timeout"  module Homebrew +  module_function +    def test      raise FormulaUnspecifiedError if ARGV.named.empty? diff --git a/Library/Homebrew/dev-cmd/tests.rb b/Library/Homebrew/dev-cmd/tests.rb index 4e2d3b2db..72f8e0375 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -5,6 +5,8 @@ require "fileutils"  require "tap"  module Homebrew +  module_function +    def tests      (HOMEBREW_LIBRARY/"Homebrew").cd do        ENV.delete "HOMEBREW_VERBOSE" diff --git a/Library/Homebrew/dev-cmd/update-test.rb b/Library/Homebrew/dev-cmd/update-test.rb index 79b9f621b..8bb0fa057 100644 --- a/Library/Homebrew/dev-cmd/update-test.rb +++ b/Library/Homebrew/dev-cmd/update-test.rb @@ -15,6 +15,8 @@  #:    the new repository clone.  module Homebrew +  module_function +    def update_test      ENV["HOMEBREW_UPDATE_TEST"] = "1" diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb index 0cd0d57e6..bf700b095 100644 --- a/Library/Homebrew/global.rb +++ b/Library/Homebrew/global.rb @@ -39,14 +39,21 @@ HOMEBREW_CURL_ARGS = [  require "tap_constants"  module Homebrew -  include FileUtils -  extend self +  extend FileUtils -  attr_accessor :failed -  alias failed? failed +  class << self +    attr_writer :failed -  attr_accessor :raise_deprecation_exceptions -  alias raise_deprecation_exceptions? raise_deprecation_exceptions +    def failed? +      @failed == true +    end + +    attr_writer :raise_deprecation_exceptions + +    def raise_deprecation_exceptions? +      @raise_deprecation_exceptions == true +    end +  end  end  HOMEBREW_PULL_API_REGEX = %r{https://api\.github\.com/repos/([\w-]+)/([\w-]+)?/pulls/(\d+)} diff --git a/Library/Homebrew/options.rb b/Library/Homebrew/options.rb index 08f459b24..9f1253531 100644 --- a/Library/Homebrew/options.rb +++ b/Library/Homebrew/options.rb @@ -114,6 +114,8 @@ class Options  end  module Homebrew +  module_function +    def dump_options_for_formula(f)      f.options.sort_by(&:flag).each do |opt|        puts "#{opt.flag}\n\t#{opt.description}" diff --git a/Library/Homebrew/test/test_utils.rb b/Library/Homebrew/test/test_utils.rb index a40a56775..cd5a379ab 100644 --- a/Library/Homebrew/test/test_utils.rb +++ b/Library/Homebrew/test/test_utils.rb @@ -60,7 +60,7 @@ class UtilTests < Homebrew::TestCase    def test_ofail      shutup { ofail "foo" } -    assert Homebrew.failed +    assert Homebrew.failed?    ensure      Homebrew.failed = false    end diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 8d91c15c0..04d157262 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -151,7 +151,9 @@ def interactive_shell(f = nil)  end  module Homebrew -  def self._system(cmd, *args) +  module_function + +  def _system(cmd, *args)      pid = fork do        yield if block_given?        args.collect!(&:to_s) @@ -166,12 +168,12 @@ module Homebrew      $?.success?    end -  def self.system(cmd, *args) +  def system(cmd, *args)      puts "#{cmd} #{args*" "}" if ARGV.verbose?      _system(cmd, *args)    end -  def self.core_tap_version_string +  def core_tap_version_string      require "tap"      tap = CoreTap.instance      return "N/A" unless tap.installed? @@ -183,7 +185,7 @@ module Homebrew      end    end -  def self.install_gem_setup_path!(name, version = nil, executable = name) +  def install_gem_setup_path!(name, version = nil, executable = name)      # Respect user's preferences for where gems should be installed.      ENV["GEM_HOME"] = ENV["GEM_OLD_HOME"].to_s      ENV["GEM_HOME"] = Gem.user_dir if ENV["GEM_HOME"].empty? @@ -218,20 +220,19 @@ module Homebrew        odie "Failed to install/update the '#{name}' gem." if exit_code.nonzero?      end -    unless which executable -      odie <<-EOS.undent -        The '#{name}' gem is installed but couldn't find '#{executable}' in the PATH: -        #{ENV["PATH"]} -      EOS -    end +    return if which(executable) +    odie <<-EOS.undent +      The '#{name}' gem is installed but couldn't find '#{executable}' in the PATH: +      #{ENV["PATH"]} +    EOS    end    # Hash of Module => Set(method_names) -  @@injected_dump_stat_modules = {} +  @injected_dump_stat_modules = {}    def inject_dump_stats!(the_module, pattern) -    @@injected_dump_stat_modules[the_module] ||= [] -    injected_methods = @@injected_dump_stat_modules[the_module] +    @injected_dump_stat_modules[the_module] ||= [] +    injected_methods = @injected_dump_stat_modules[the_module]      the_module.module_eval do        instance_methods.grep(pattern).each do |name|          next if injected_methods.include? name | 
