class Recipes::Coverage

Public Instance Methods

create() click to toggle source
# File lib/potassium/recipes/coverage.rb, line 2
def create
  load_gems
  configure_rails_helper
  append_to_file('.gitignore', "/coverage/*\n")
  recipe = self
  after(:vite_install) do
    recipe.setup_coverage_dependencies
  end
end
install() click to toggle source
# File lib/potassium/recipes/coverage.rb, line 16
def install
  create
end
installed?() click to toggle source
# File lib/potassium/recipes/coverage.rb, line 12
def installed?
  gem_exists?(/simplecov/)
end
setup_coverage_dependencies() click to toggle source
# File lib/potassium/recipes/coverage.rb, line 20
def setup_coverage_dependencies
  run "yarn add c8 --dev"
end

Private Instance Methods

configure_rails_helper() click to toggle source
# File lib/potassium/recipes/coverage.rb, line 34
def configure_rails_helper
  copy_file '../assets/testing/simplecov_config.rb', 'spec/simplecov_config.rb'

  after(:gem_install) do
    gsub_file 'spec/rails_helper.rb', "ENV['RACK_ENV'] ||= 'test'" do |match|
      "#{match}\nrequire 'simplecov_config'"
    end
  end
end
load_gems() click to toggle source
# File lib/potassium/recipes/coverage.rb, line 26
def load_gems
  gather_gems(:test) do
    gather_gem 'simplecov'
    gather_gem 'simplecov_linter_formatter', '~> 0.2'
    gather_gem 'simplecov_text_formatter'
  end
end