#!/usr/bin/env ruby

results = {
  'Rubocop' => false,
  'Erblint' => false,
  'RSpec' => false,
  'Standard' => false,
  'Stylelint' => false
}
puts "\n== Running linters =="
puts 'Rubocop:'
results['Rubocop'] = system 'bin/rubocop'

puts 'Erblint:'
results['Erblint'] = system 'bin/erblint --lint-all'

puts 'Standard JS:'
results['Standard'] = system 'yarn lint'

puts 'Stylelint:'
results['Stylelint'] = system 'yarn run stylelint'

puts "\n== Running specs =="
puts 'Rspec:'
results['RSpec'] = system 'bin/rspec'

puts "\n== Final Results =="
puts results.map {|k,v| "#{k.ljust(7)} #{v == true ? '✅' : '❌' }" }
if results.values.all? { |v| v == true }
  puts 'All tests passing! 🎉'
else
  puts 'Failing tests! 😭'
end
