module Blade::CI
Public Instance Methods
start()
click to toggle source
# File lib/blade/interface/ci.rb, line 5 def start @completed_sessions = 0 @failures = [] Blade.subscribe("/results") do |details| process_result(details) end end
Private Instance Methods
display_failures()
click to toggle source
# File lib/blade/interface/ci.rb, line 49 def display_failures @failures.each do |details| STDERR.puts "\n\n#{status_dot(details[:status])} #{details[:name]} (#{Blade::Session.find(details[:session_id])})" STDERR.puts details[:message] end end
done?()
click to toggle source
# File lib/blade/interface/ci.rb, line 45 def done? @completed_sessions == (Blade.config.expected_sessions || 1) end
exit_with_status_code()
click to toggle source
# File lib/blade/interface/ci.rb, line 56 def exit_with_status_code exit @failures.any? ? 1 : 0 end
process_completion()
click to toggle source
# File lib/blade/interface/ci.rb, line 29 def process_completion @completed_sessions += 1 if done? EM.add_timer 2 do display_failures STDOUT.puts exit_with_status_code end end end
process_result(details)
click to toggle source
# File lib/blade/interface/ci.rb, line 15 def process_result(details) if status = details[:status] STDOUT.print status_dot(status) if status == "fail" @failures << details end end if details[:completed] process_completion end end
status_dot(status)
click to toggle source
# File lib/blade/interface/ci.rb, line 41 def status_dot(status) Blade::TestResults::STATUS_DOTS[status] end