# frozen_string_literal: true

require "bundler/gem_tasks"
require "rspec/core/rake_task"
require "rubocop/rake_task"

RSpec::Core::RakeTask.new(:spec) do |task|
  task.rspec_opts = [
    "--format documentation",
    "--format RspecJunitFormatter",
    "--out spec/reports/results.xml",
    "--format html",
    "--out spec/reports/results.html"
  ]
end

RuboCop::RakeTask.new

desc "Run tests with coverage"
task :coverage do
  ENV["COVERAGE"] = "true"
  Rake::Task[:spec].invoke
end

desc "Generate documentation"
task :docs do
  sh "yard doc"
end

desc "Run quality checks (rubocop + tests)"
task quality: [:rubocop, :spec]

task default: :quality
