Rename PATH#validate to PATH#existing.
This commit is contained in:
parent
22f624b373
commit
4d5d6a65e3
@ -23,6 +23,14 @@ class PATH
|
||||
self
|
||||
end
|
||||
|
||||
def select(&block)
|
||||
self.class.new(@paths.select(&block))
|
||||
end
|
||||
|
||||
def reject(&block)
|
||||
self.class.new(@paths.reject(&block))
|
||||
end
|
||||
|
||||
def to_ary
|
||||
@paths
|
||||
end
|
||||
@ -49,9 +57,9 @@ class PATH
|
||||
@paths.empty?
|
||||
end
|
||||
|
||||
def validate
|
||||
validated_path = self.class.new(@paths.select(&File.method(:directory?)))
|
||||
validated_path unless validated_path.empty?
|
||||
def existing
|
||||
existing_path = select(&File.method(:directory?))
|
||||
existing_path unless existing_path.empty?
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@ -62,7 +62,7 @@ module Stdenv
|
||||
HOMEBREW_PREFIX/"share/pkgconfig",
|
||||
homebrew_extra_pkg_config_paths,
|
||||
"/usr/lib/pkgconfig",
|
||||
).validate
|
||||
).existing
|
||||
end
|
||||
|
||||
# Removes the MAKEFLAGS environment variable, causing make to use a single job.
|
||||
|
||||
@ -122,7 +122,7 @@ module Superenv
|
||||
nil
|
||||
end
|
||||
|
||||
path.validate
|
||||
path.existing
|
||||
end
|
||||
|
||||
def homebrew_extra_pkg_config_paths
|
||||
@ -133,14 +133,14 @@ module Superenv
|
||||
PATH.new(
|
||||
deps.map { |d| d.opt_lib/"pkgconfig" },
|
||||
deps.map { |d| d.opt_share/"pkgconfig" },
|
||||
).validate
|
||||
).existing
|
||||
end
|
||||
|
||||
def determine_pkg_config_libdir
|
||||
PATH.new(
|
||||
"/usr/lib/pkgconfig",
|
||||
homebrew_extra_pkg_config_paths,
|
||||
).validate
|
||||
).existing
|
||||
end
|
||||
|
||||
def homebrew_extra_aclocal_paths
|
||||
@ -152,7 +152,7 @@ module Superenv
|
||||
keg_only_deps.map { |d| d.opt_share/"aclocal" },
|
||||
HOMEBREW_PREFIX/"share/aclocal",
|
||||
homebrew_extra_aclocal_paths,
|
||||
).validate
|
||||
).existing
|
||||
end
|
||||
|
||||
def homebrew_extra_isystem_paths
|
||||
@ -163,11 +163,11 @@ module Superenv
|
||||
PATH.new(
|
||||
HOMEBREW_PREFIX/"include",
|
||||
homebrew_extra_isystem_paths,
|
||||
).validate
|
||||
).existing
|
||||
end
|
||||
|
||||
def determine_include_paths
|
||||
PATH.new(keg_only_deps.map(&:opt_include)).validate
|
||||
PATH.new(keg_only_deps.map(&:opt_include)).existing
|
||||
end
|
||||
|
||||
def homebrew_extra_library_paths
|
||||
@ -179,7 +179,7 @@ module Superenv
|
||||
keg_only_deps.map(&:opt_lib),
|
||||
HOMEBREW_PREFIX/"lib",
|
||||
homebrew_extra_library_paths,
|
||||
).validate
|
||||
).existing
|
||||
end
|
||||
|
||||
def determine_dependencies
|
||||
@ -190,7 +190,7 @@ module Superenv
|
||||
PATH.new(
|
||||
keg_only_deps.map(&:opt_prefix),
|
||||
HOMEBREW_PREFIX.to_s,
|
||||
).validate
|
||||
).existing
|
||||
end
|
||||
|
||||
def homebrew_extra_cmake_include_paths
|
||||
@ -198,7 +198,7 @@ module Superenv
|
||||
end
|
||||
|
||||
def determine_cmake_include_path
|
||||
PATH.new(homebrew_extra_cmake_include_paths).validate
|
||||
PATH.new(homebrew_extra_cmake_include_paths).existing
|
||||
end
|
||||
|
||||
def homebrew_extra_cmake_library_paths
|
||||
@ -206,7 +206,7 @@ module Superenv
|
||||
end
|
||||
|
||||
def determine_cmake_library_path
|
||||
PATH.new(homebrew_extra_cmake_library_paths).validate
|
||||
PATH.new(homebrew_extra_cmake_library_paths).existing
|
||||
end
|
||||
|
||||
def homebrew_extra_cmake_frameworks_paths
|
||||
@ -217,7 +217,7 @@ module Superenv
|
||||
PATH.new(
|
||||
deps.map(&:opt_frameworks),
|
||||
homebrew_extra_cmake_frameworks_paths,
|
||||
).validate
|
||||
).existing
|
||||
end
|
||||
|
||||
def determine_make_jobs
|
||||
|
||||
@ -86,13 +86,13 @@ describe PATH do
|
||||
end
|
||||
end
|
||||
|
||||
describe "#validate" do
|
||||
describe "#existing" do
|
||||
it "returns a new PATH without non-existent paths" do
|
||||
allow(File).to receive(:directory?).with("/path1").and_return(true)
|
||||
allow(File).to receive(:directory?).with("/path2").and_return(false)
|
||||
|
||||
path = described_class.new("/path1", "/path2")
|
||||
expect(path.validate.to_ary).to eq(["/path1"])
|
||||
expect(path.existing.to_ary).to eq(["/path1"])
|
||||
expect(path.to_ary).to eq(["/path1", "/path2"])
|
||||
end
|
||||
end
|
||||
|
||||
@ -193,7 +193,7 @@ module Homebrew
|
||||
path = PATH.new(ENV["PATH"])
|
||||
path.prepend(RUBY_BIN) if which("ruby") != RUBY_PATH
|
||||
path.prepend(Gem.bindir)
|
||||
ENV["PATH"] = path.validate
|
||||
ENV["PATH"] = path.existing
|
||||
|
||||
if Gem::Specification.find_all_by_name(name, version).empty?
|
||||
ohai "Installing or updating '#{name}' gem"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user