57 lines
1.2 KiB
Ruby
Raw Normal View History

2016-09-24 13:52:43 +02:00
module Hbc
class CLI
2017-05-20 19:08:03 +02:00
class Audit < AbstractCommand
2016-09-24 13:52:43 +02:00
def self.help
"verifies installability of Casks"
end
2017-05-19 21:07:25 +02:00
def initialize(*args, auditor: Auditor)
2016-09-24 13:52:43 +02:00
@args = args
@auditor = auditor
end
def run
2017-05-19 21:07:25 +02:00
failed_casks = []
casks_to_audit.each do |cask|
next if audit(cask)
failed_casks << cask
2016-09-24 13:52:43 +02:00
end
2017-05-19 21:07:25 +02:00
return if failed_casks.empty?
raise CaskError, "audit failed for casks: #{failed_casks.join(" ")}"
2016-09-24 13:52:43 +02:00
end
def audit(cask)
odebug "Auditing Cask #{cask}"
@auditor.audit(cask, audit_download: audit_download?,
check_token_conflicts: check_token_conflicts?)
end
def audit_download?
@args.include?("--download")
end
def check_token_conflicts?
@args.include?("--token-conflicts")
end
def casks_to_audit
if cask_tokens.empty?
Hbc.all
else
cask_tokens.map { |token| CaskLoader.load(token) }
2016-09-24 13:52:43 +02:00
end
end
def cask_tokens
@cask_tokens ||= self.class.cask_tokens_from(@args)
end
def self.needs_init?
true
end
2016-08-18 22:11:42 +03:00
end
end
end