# Nathan Hinton 2 Oct 2025
# Rake file


desc 'Run RSpec tests'
task :test do
  begin
    require 'rspec/core/rake_task'
    RSpec::Core::RakeTask.new(:spec)
    Rake::Task['spec'].invoke
  rescue LoadError
    puts 'Failed to load RSpec to run tests... Try installing rspec'
  end
end


desc 'Run the server for clients to connect to'
task :serve do
  sh 'ruby -Ilib lib/app.rb'
end


namespace :doc do
  desc 'Create the YARD documentation for the project'
  task :yard do
    res = sh 'yard doc lib'
    sh 'yard stats lib --list-undoc'
  end

  desc 'Create code coverage'
  task :coverage do
    Rake::Task[:test].invoke
  end
end
