diff --git a/Library/.rubocop_todo.yml b/Library/.rubocop_todo.yml
index 7f86119abd4644e78dc123cf60d92a2072c492ca..25b0ec0d36396c8b4d2c5a559e47dcabe4e44065 100644
--- a/Library/.rubocop_todo.yml
+++ b/Library/.rubocop_todo.yml
@@ -106,11 +106,6 @@ Style/ClassVars:
     - 'Homebrew/test/testing_env.rb'
     - 'Homebrew/utils.rb'
 
-# Offense count: 1
-Style/ConstantName:
-  Exclude:
-    - 'Homebrew/os/mac.rb'
-
 # Offense count: 13
 # Configuration parameters: AllowedVariables.
 Style/GlobalVars:
@@ -139,7 +134,6 @@ Style/IndentArray:
 Style/ModuleFunction:
   Exclude:
     - 'Homebrew/global.rb'
-    - 'Homebrew/os/mac.rb'
     - 'Homebrew/os/mac/xcode.rb'
     - 'Homebrew/os/mac/xquartz.rb'
 
diff --git a/Library/Homebrew/cask/lib/hbc/macos.rb b/Library/Homebrew/cask/lib/hbc/macos.rb
index fb15be108173c55bf47db80c3d0eaabe39c67f7b..e7de82d6ad8d7d7b29c7068c677faca766d1347d 100644
--- a/Library/Homebrew/cask/lib/hbc/macos.rb
+++ b/Library/Homebrew/cask/lib/hbc/macos.rb
@@ -4,6 +4,8 @@ require "os/mac/version"
 
 module OS
   module Mac
+    module_function
+
     SYSTEM_DIRS = [
                     "/",
                     "/Applications",
diff --git a/Library/Homebrew/compat/macos.rb b/Library/Homebrew/compat/macos.rb
index 6b0166e4085827895806462ed7d8cc24da004d91..17f4670cc7fd488ecca3bb79305e3f3be8d9c580 100644
--- a/Library/Homebrew/compat/macos.rb
+++ b/Library/Homebrew/compat/macos.rb
@@ -2,145 +2,145 @@ require "development_tools"
 
 module OS
   module Mac
-    class << self
-      def xcode_folder
-        odeprecated "MacOS.xcode_folder", "MacOS::Xcode.folder"
-        Xcode.folder
-      end
-
-      def xcode_prefix
-        odeprecated "MacOS.xcode_prefix", "MacOS::Xcode.prefix"
-        Xcode.prefix
-      end
-
-      def xcode_installed?
-        odeprecated "MacOS.xcode_installed?", "MacOS::Xcode.installed?"
-        Xcode.installed?
-      end
-
-      def xcode_version
-        odeprecated "MacOS.xcode_version", "MacOS::Xcode.version"
-        Xcode.version
-      end
-
-      def clt_installed?
-        odeprecated "MacOS.clt_installed?", "MacOS::CLT.installed?"
-        CLT.installed?
-      end
-
-      def clt_version?
-        odeprecated "MacOS.clt_version?", "MacOS::CLT.version"
-        CLT.version
-      end
-
-      def x11_installed?
-        odeprecated "MacOS.x11_installed?", "MacOS::X11.installed?"
-        X11.installed?
-      end
-
-      def x11_prefix
-        odeprecated "MacOS.x11_prefix", "MacOS::X11.prefix"
-        X11.prefix
-      end
-
-      def leopard?
-        odeprecated "MacOS.leopard?", "'MacOS.version == :leopard'"
-        version == :leopard
-      end
-
-      def snow_leopard?
-        odeprecated "MacOS.snow_leopard?", "'MacOS.version >= :snow_leopard'"
-        version >= :snow_leopard
-      end
-
-      def snow_leopard_or_newer?
-        odeprecated "MacOS.snow_leopard_or_newer?", "'MacOS.version >= :snow_leopard'"
-        version >= :snow_leopard
-      end
-
-      def lion?
-        odeprecated "MacOS.lion?", "'MacOS.version >= :lion'"
-        version >= :lion
-      end
-
-      def lion_or_newer?
-        odeprecated "MacOS.lion_or_newer?", "'MacOS.version >= :lion'"
-        version >= :lion
-      end
-
-      def mountain_lion?
-        odeprecated "MacOS.mountain_lion?", "'MacOS.version >= :mountain_lion'"
-        version >= :mountain_lion
-      end
-
-      def mountain_lion_or_newer?
-        odeprecated "MacOS.mountain_lion_or_newer?", "'MacOS.version >= :mountain_lion'"
-        version >= :mountain_lion
-      end
-
-      def macports_or_fink_installed?
-        odeprecated "MacOS.macports_or_fink_installed?", "!MacOS.macports_or_fink.empty?"
-        !macports_or_fink.empty?
-      end
-
-      def locate(tool)
-        odeprecated "MacOS.locate", "DevelopmentTools.locate"
-        DevelopmentTools.locate(tool)
-      end
-
-      def default_cc
-        odeprecated "MacOS.default_cc", "DevelopmentTools.default_cc"
-        DevelopmentTools.default_cc
-      end
-
-      def default_compiler
-        odeprecated "MacOS.default_compiler", "DevelopmentTools.default_compiler"
-        DevelopmentTools.default_compiler
-      end
-
-      def gcc_40_build_version
-        odeprecated "MacOS.gcc_40_build_version", "DevelopmentTools.gcc_40_build_version"
-        DevelopmentTools.gcc_40_build_version
-      end
-
-      def gcc_4_0_build_version
-        odeprecated "MacOS.gcc_4_0_build_version", "DevelopmentTools.gcc_40_build_version"
-        DevelopmentTools.gcc_40_build_version
-      end
-
-      def gcc_42_build_version
-        odeprecated "MacOS.gcc_42_build_version", "DevelopmentTools.gcc_42_build_version"
-        DevelopmentTools.gcc_42_build_version
-      end
-
-      def gcc_build_version
-        odeprecated "MacOS.gcc_build_version", "DevelopmentTools.gcc_42_build_version"
-        DevelopmentTools.gcc_42_build_version
-      end
-
-      def llvm_build_version
-        odeprecated "MacOS.llvm_build_version"
-      end
-
-      def clang_version
-        odeprecated "MacOS.clang_version", "DevelopmentTools.clang_version"
-        DevelopmentTools.clang_version
-      end
-
-      def clang_build_version
-        odeprecated "MacOS.clang_build_version", "DevelopmentTools.clang_build_version"
-        DevelopmentTools.clang_build_version
-      end
-
-      def has_apple_developer_tools?
-        odeprecated "MacOS.has_apple_developer_tools?", "DevelopmentTools.installed?"
-        DevelopmentTools.installed?
-      end
-
-      def release
-        odeprecated "MacOS.release", "MacOS.version"
-        version
-      end
+    module_function
+
+    def xcode_folder
+      odeprecated "MacOS.xcode_folder", "MacOS::Xcode.folder"
+      Xcode.folder
+    end
+
+    def xcode_prefix
+      odeprecated "MacOS.xcode_prefix", "MacOS::Xcode.prefix"
+      Xcode.prefix
+    end
+
+    def xcode_installed?
+      odeprecated "MacOS.xcode_installed?", "MacOS::Xcode.installed?"
+      Xcode.installed?
+    end
+
+    def xcode_version
+      odeprecated "MacOS.xcode_version", "MacOS::Xcode.version"
+      Xcode.version
+    end
+
+    def clt_installed?
+      odeprecated "MacOS.clt_installed?", "MacOS::CLT.installed?"
+      CLT.installed?
+    end
+
+    def clt_version?
+      odeprecated "MacOS.clt_version?", "MacOS::CLT.version"
+      CLT.version
+    end
+
+    def x11_installed?
+      odeprecated "MacOS.x11_installed?", "MacOS::X11.installed?"
+      X11.installed?
+    end
+
+    def x11_prefix
+      odeprecated "MacOS.x11_prefix", "MacOS::X11.prefix"
+      X11.prefix
+    end
+
+    def leopard?
+      odeprecated "MacOS.leopard?", "'MacOS.version == :leopard'"
+      version == :leopard
+    end
+
+    def snow_leopard?
+      odeprecated "MacOS.snow_leopard?", "'MacOS.version >= :snow_leopard'"
+      version >= :snow_leopard
+    end
+
+    def snow_leopard_or_newer?
+      odeprecated "MacOS.snow_leopard_or_newer?", "'MacOS.version >= :snow_leopard'"
+      version >= :snow_leopard
+    end
+
+    def lion?
+      odeprecated "MacOS.lion?", "'MacOS.version >= :lion'"
+      version >= :lion
+    end
+
+    def lion_or_newer?
+      odeprecated "MacOS.lion_or_newer?", "'MacOS.version >= :lion'"
+      version >= :lion
+    end
+
+    def mountain_lion?
+      odeprecated "MacOS.mountain_lion?", "'MacOS.version >= :mountain_lion'"
+      version >= :mountain_lion
+    end
+
+    def mountain_lion_or_newer?
+      odeprecated "MacOS.mountain_lion_or_newer?", "'MacOS.version >= :mountain_lion'"
+      version >= :mountain_lion
+    end
+
+    def macports_or_fink_installed?
+      odeprecated "MacOS.macports_or_fink_installed?", "!MacOS.macports_or_fink.empty?"
+      !macports_or_fink.empty?
+    end
+
+    def locate(tool)
+      odeprecated "MacOS.locate", "DevelopmentTools.locate"
+      DevelopmentTools.locate(tool)
+    end
+
+    def default_cc
+      odeprecated "MacOS.default_cc", "DevelopmentTools.default_cc"
+      DevelopmentTools.default_cc
+    end
+
+    def default_compiler
+      odeprecated "MacOS.default_compiler", "DevelopmentTools.default_compiler"
+      DevelopmentTools.default_compiler
+    end
+
+    def gcc_40_build_version
+      odeprecated "MacOS.gcc_40_build_version", "DevelopmentTools.gcc_40_build_version"
+      DevelopmentTools.gcc_40_build_version
+    end
+
+    def gcc_4_0_build_version
+      odeprecated "MacOS.gcc_4_0_build_version", "DevelopmentTools.gcc_40_build_version"
+      DevelopmentTools.gcc_40_build_version
+    end
+
+    def gcc_42_build_version
+      odeprecated "MacOS.gcc_42_build_version", "DevelopmentTools.gcc_42_build_version"
+      DevelopmentTools.gcc_42_build_version
+    end
+
+    def gcc_build_version
+      odeprecated "MacOS.gcc_build_version", "DevelopmentTools.gcc_42_build_version"
+      DevelopmentTools.gcc_42_build_version
+    end
+
+    def llvm_build_version
+      odeprecated "MacOS.llvm_build_version"
+    end
+
+    def clang_version
+      odeprecated "MacOS.clang_version", "DevelopmentTools.clang_version"
+      DevelopmentTools.clang_version
+    end
+
+    def clang_build_version
+      odeprecated "MacOS.clang_build_version", "DevelopmentTools.clang_build_version"
+      DevelopmentTools.clang_build_version
+    end
+
+    def has_apple_developer_tools?
+      odeprecated "MacOS.has_apple_developer_tools?", "DevelopmentTools.installed?"
+      DevelopmentTools.installed?
+    end
+
+    def release
+      odeprecated "MacOS.release", "MacOS.version"
+      version
     end
   end
 end
diff --git a/Library/Homebrew/compat/xcode.rb b/Library/Homebrew/compat/xcode.rb
index 69abbf4b1324b33e4dac168a1a3b69ed8da63dea..14150cc7cbbe0366f2d46562840110a4ae4794ce 100644
--- a/Library/Homebrew/compat/xcode.rb
+++ b/Library/Homebrew/compat/xcode.rb
@@ -1,11 +1,11 @@
 module OS
   module Mac
     module Xcode
-      class << self
-        def provides_autotools?
-          odeprecated "OS::Mac::Xcode.provides_autotools?"
-          version < "4.3"
-        end
+      module_function
+
+      def provides_autotools?
+        odeprecated "OS::Mac::Xcode.provides_autotools?"
+        version < "4.3"
       end
     end
   end
diff --git a/Library/Homebrew/os/mac.rb b/Library/Homebrew/os/mac.rb
index 029c761f776331baf60d4087d253777aaa79c5ad..0b01478253f1c7a6d519b76f0147e6c901d6a493 100644
--- a/Library/Homebrew/os/mac.rb
+++ b/Library/Homebrew/os/mac.rb
@@ -9,9 +9,9 @@ require "os/mac/keg"
 
 module OS
   module Mac
-    extend self
+    module_function
 
-    ::MacOS = self # compatibility
+    ::MacOS = self # rubocop:disable Style/ConstantName
 
     raise "Loaded OS::Mac on generic OS!" if ENV["HOMEBREW_TEST_GENERIC_OS"]
 
diff --git a/Library/Homebrew/os/mac/xcode.rb b/Library/Homebrew/os/mac/xcode.rb
index 0f78e44127df20c0fbe7398a9643ceb879173b01..8ec0b91de4228026d6dcf21d25693b9f86b8343a 100644
--- a/Library/Homebrew/os/mac/xcode.rb
+++ b/Library/Homebrew/os/mac/xcode.rb
@@ -1,7 +1,7 @@
 module OS
   module Mac
     module Xcode
-      extend self
+      module_function
 
       V4_BUNDLE_ID = "com.apple.dt.Xcode".freeze
       V3_BUNDLE_ID = "com.apple.Xcode".freeze
diff --git a/Library/Homebrew/os/mac/xquartz.rb b/Library/Homebrew/os/mac/xquartz.rb
index 9a610e29fd33c65443bef863752071054b1e8a53..674e50c503e493f1c8d6057a3f9d67152e176063 100644
--- a/Library/Homebrew/os/mac/xquartz.rb
+++ b/Library/Homebrew/os/mac/xquartz.rb
@@ -3,7 +3,7 @@ module OS
     X11 = XQuartz = Module.new
 
     module XQuartz
-      extend self
+      module_function
 
       FORGE_BUNDLE_ID = "org.macosforge.xquartz.X11".freeze
       APPLE_BUNDLE_ID = "org.x.X11".freeze