Merge pull request #1878 from alyssais/keg_cleanup

Simplify Keg class
This commit is contained in:
Alyssa Ross 2017-01-19 19:24:24 +00:00 committed by GitHub
commit d7c463ad2c

View File

@ -174,6 +174,12 @@ class Keg
attr_reader :path, :name, :linked_keg_record, :opt_record
protected :path
extend Forwardable
def_delegators :path,
:to_s, :hash, :abv, :disk_usage, :file_count, :directory?, :exist?, :/,
:join, :rename, :find
def initialize(path)
path = path.resolved_path if path.to_s.start_with?("#{HOMEBREW_PREFIX}/opt/")
raise "#{path} is not a valid keg" unless path.parent.parent.realpath == HOMEBREW_CELLAR.realpath
@ -184,19 +190,11 @@ class Keg
@opt_record = HOMEBREW_PREFIX/"opt/#{name}"
end
def to_s
path.to_s
end
def rack
path.parent
end
if Pathname.method_defined?(:to_path)
alias to_path to_s
else
alias to_str to_s
end
def inspect
"#<#{self.class.name}:#{path}>"
@ -207,30 +205,6 @@ class Keg
end
alias eql? ==
def hash
path.hash
end
def abv
path.abv
end
def disk_usage
path.disk_usage
end
def file_count
path.file_count
end
def directory?
path.directory?
end
def exist?
path.exist?
end
def empty_installation?
Pathname.glob("#{path}/**/*") do |file|
next if file.directory?
@ -243,18 +217,6 @@ class Keg
true
end
def /(other)
path / other
end
def join(*args)
path.join(*args)
end
def rename(*args)
path.rename(*args)
end
def linked?
linked_keg_record.symlink? &&
linked_keg_record.directory? &&
@ -400,10 +362,6 @@ class Keg
end
end
def find(*args, &block)
path.find(*args, &block)
end
def oldname_opt_record
@oldname_opt_record ||= if (opt_dir = HOMEBREW_PREFIX/"opt").directory?
opt_dir.subdirs.detect do |dir|