brew/Library/Homebrew/cask/lib/hbc/artifact/nested_container.rb

33 lines
799 B
Ruby
Raw Normal View History

require "hbc/artifact/abstract_artifact"
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
module Hbc
module Artifact
class NestedContainer < AbstractArtifact
attr_reader :path
def initialize(cask, path)
super(cask)
@path = cask.staged_path.join(path)
end
def install_phase(**options)
extract(**options)
2016-09-24 13:52:43 +02:00
end
2016-08-18 22:11:42 +03:00
private
def extract(command: nil, verbose: nil, **_)
container = Container.for_path(path, command)
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
unless container
raise CaskError, "Aw dang, could not identify nested container at '#{source}'"
end
2016-08-18 22:11:42 +03:00
ohai "Extracting nested container #{path.relative_path_from(cask.staged_path)}"
container.new(cask, path, command, verbose: verbose).extract
FileUtils.remove_entry_secure(path)
2016-09-24 13:52:43 +02:00
end
end
2016-08-18 22:11:42 +03:00
end
end