# 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)
    ENV['RUN_ALL_TESTS'] = 'true'
    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
  raise NotImplementedError.new('Server task not yet implimented!')
end


namespace :doc do
  desc 'Create the YARD documentation for the project'
  task :yard do
    res = sh 'yard doc *.rb'
  end

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