class Mecha::Generators::SimplecovGenerator

Public Instance Methods

add_gem() click to toggle source
# File lib/mecha/generators/simplecov/simplecov_generator.rb, line 8
def add_gem
  gem_group :development, :test do
    gem 'simplecov'
    gem 'simplecov-json'
  end
end
config_simplecov_on_test_helper() click to toggle source
# File lib/mecha/generators/simplecov/simplecov_generator.rb, line 15
def config_simplecov_on_test_helper
  inject_into_file('test/test_helper.rb', simplecov_config, after: "ENV['RAILS_ENV'] ||= 'test'")
end

Private Instance Methods

simplecov_config() click to toggle source
# File lib/mecha/generators/simplecov/simplecov_generator.rb, line 21
      def simplecov_config
        <<-SIMPLECOV.strip_heredoc
          require 'simplecov'
          require 'simplecov-json'

          SimpleCov.formatters = SimpleCov::Formatter::MultiFormatter.new(
            [SimpleCov::Formatter::HTMLFormatter, SimpleCov::Formatter::JSONFormatter]
          )

          SimpleCov.command_name('MiniTest')
          SimpleCov.start do
            load_profile 'test_frameworks'

            add_filter '/bin/'
            add_filter '/config/'
            add_filter '/db/'

            add_group 'Controllers', %w[app/controllers app/policies]
            add_group 'Models', %w[app/models app/validators]
            add_group 'Mailers', 'app/mailers'
            add_group 'Helpers', %w[app/helpers app/presenters]
            add_group 'Services', %w[app/jobs app/services app/uploaders]
            add_group 'Libraries', 'lib'
          end
        SIMPLECOV
      end