class Hoboken::AddOns::Metrics

Add metrics (flog, flay, simplecov).

Public Instance Methods

add_gems() click to toggle source
# File lib/hoboken/add_ons/metrics.rb, line 8
def add_gems
  gem 'flog', version: '4.6', group: :test
  gem 'flay', version: '2.12', group: :test
  gem 'simplecov', version: '0.21', require: false, group: :test
end
copy_task_templates() click to toggle source
# File lib/hoboken/add_ons/metrics.rb, line 14
def copy_task_templates
  empty_directory('tasks')
  template('hoboken/templates/metrics.rake.tt', 'tasks/metrics.rake')
end
reminders() click to toggle source
# File lib/hoboken/add_ons/metrics.rb, line 35
def reminders
  say "\nGemfile updated... don't forget to 'bundle install'"
end
simplecov_rspec() click to toggle source
# File lib/hoboken/add_ons/metrics.rb, line 27
def simplecov_rspec
  return unless rspec?

  insert_into_file 'spec/spec_helper.rb', before: snippet_location do
    snippet('rspec')
  end
end
simplecov_test_unit() click to toggle source
# File lib/hoboken/add_ons/metrics.rb, line 19
def simplecov_test_unit
  return if rspec?

  insert_into_file 'test/test_helper.rb', before: snippet_location do
    snippet('test')
  end
end

Private Instance Methods

snippet(framework_folder) click to toggle source
# File lib/hoboken/add_ons/metrics.rb, line 41
      def snippet(framework_folder)
        <<~CODE
          require 'simplecov'
          SimpleCov.start do
            add_filter '/bin/'
            add_filter '/config/'
            add_filter '/#{framework_folder}/'
            coverage_dir 'tmp/coverage'
          end

        CODE
      end
snippet_location() click to toggle source
# File lib/hoboken/add_ons/metrics.rb, line 54
def snippet_location
  %r{require 'bundler/setup'}
end