Raise error when file does not contain a cask.
This commit is contained in:
parent
b68d8e7282
commit
5a45315349
@ -17,7 +17,11 @@ module Hbc
|
||||
return to_enum unless block_given?
|
||||
|
||||
Tap.flat_map(&:cask_files).each do |f|
|
||||
yield CaskLoader::FromTapPathLoader.new(f).load
|
||||
begin
|
||||
yield CaskLoader::FromTapPathLoader.new(f).load
|
||||
rescue CaskUnreadableError => e
|
||||
opoo e.message
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -54,7 +54,15 @@ module Hbc
|
||||
|
||||
@content = IO.read(path)
|
||||
|
||||
instance_eval(content, path)
|
||||
begin
|
||||
instance_eval(content, path).tap do |cask|
|
||||
unless cask.is_a?(Cask)
|
||||
raise CaskUnreadableError.new(token, "'#{path}' does not contain a cask.")
|
||||
end
|
||||
end
|
||||
rescue NameError, ArgumentError, ScriptError => e
|
||||
raise CaskUnreadableError.new(token, e.message)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@ -36,6 +36,12 @@ module Hbc
|
||||
end
|
||||
end
|
||||
|
||||
class CaskUnreadableError < CaskUnavailableError
|
||||
def to_s
|
||||
"Cask '#{token}' is unreadable" << (reason.empty? ? "." : ": #{reason}")
|
||||
end
|
||||
end
|
||||
|
||||
class CaskAlreadyCreatedError < AbstractCaskErrorWithToken
|
||||
def to_s
|
||||
%Q(Cask '#{token}' already exists. Run #{Formatter.identifier("brew cask edit #{token}")} to edit it.)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user