Move helper Pathname methods into Refinement

https://docs.ruby-lang.org/en/2.4.0/syntax/refinements_rdoc.html
This commit is contained in:
Anatoli Babenia 2023-09-25 17:21:21 +03:00
parent 466055a1be
commit 96ca1c561a
2 changed files with 26 additions and 20 deletions

View File

@ -7,6 +7,32 @@ require "cli/parser"
module Homebrew
module_function
module Refinements
refine Pathname do
sig { returns(T::Boolean) }
def core_formula_path?
fnmatch?("**/homebrew-core/Formula/**.rb", File::FNM_DOTMATCH)
end
sig { returns(T::Boolean) }
def core_cask_path?
fnmatch?("**/homebrew-cask/Casks/**.rb", File::FNM_DOTMATCH)
end
sig { returns(T::Boolean) }
def core_formula_tap?
self == CoreTap.instance.path
end
sig { returns(T::Boolean) }
def core_cask_tap?
self == CoreCaskTap.instance.path
end
end
end
using Refinements
sig { returns(CLI::Parser) }
def edit_args
Homebrew::CLI::Parser.new do

View File

@ -488,26 +488,6 @@ class Pathname
.encode(Encoding::UTF_8, invalid: :replace)
.split("\n")
end
sig { returns(T::Boolean) }
def core_formula_path?
fnmatch?("**/homebrew-core/Formula/**.rb", File::FNM_DOTMATCH)
end
sig { returns(T::Boolean) }
def core_cask_path?
fnmatch?("**/homebrew-cask/Casks/**.rb", File::FNM_DOTMATCH)
end
sig { returns(T::Boolean) }
def core_formula_tap?
self == CoreTap.instance.path
end
sig { returns(T::Boolean) }
def core_cask_tap?
self == CoreCaskTap.instance.path
end
end
require "extend/os/pathname"