brew/Library/Homebrew/cask/lib/hbc/checkable.rb

54 lines
915 B
Ruby
Raw Normal View History

2016-09-24 13:52:43 +02:00
module Hbc
module Checkable
def errors
Array(@errors)
end
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
def warnings
Array(@warnings)
end
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
def add_error(message)
@errors ||= []
@errors << message
end
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
def add_warning(message)
@warnings ||= []
@warnings << message
end
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
def errors?
Array(@errors).any?
end
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
def warnings?
Array(@warnings).any?
end
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
def result
if errors?
"#{Tty.red}failed#{Tty.reset}"
elsif warnings?
"#{Tty.yellow}warning#{Tty.reset}"
else
"#{Tty.green}passed#{Tty.reset}"
end
2016-08-18 22:11:42 +03:00
end
2016-09-24 13:52:43 +02:00
def summary
summary = ["#{summary_header}: #{result}"]
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
errors.each do |error|
summary << " #{Tty.red}-#{Tty.reset} #{error}"
end
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
warnings.each do |warning|
summary << " #{Tty.yellow}-#{Tty.reset} #{warning}"
end
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
summary.join("\n")
end
2016-08-18 22:11:42 +03:00
end
end