Rakefile in rubocop-minitest-0.9.0 vs Rakefile in rubocop-minitest-0.10.0

- old
+ new

@@ -13,10 +13,11 @@ exit e.status_code end require 'rubocop/rake_task' require 'rake/testtask' +require_relative 'lib/rubocop/cop/generator' Rake::TestTask.new do |t| t.libs << 'test' t.libs << 'lib' t.test_files = FileList['test/**/*_test.rb'] @@ -34,5 +35,33 @@ documentation_syntax_check generate_cops_documentation test internal_investigation ] + +desc 'Generate a new cop template' +task :new_cop, [:cop] do |_task, args| + require 'rubocop' + + cop_name = args.fetch(:cop) do + warn 'usage: bundle exec rake new_cop[Department/Name]' + exit! + end + + github_user = `git config github.user`.chop + github_user = 'your_id' if github_user.empty? + + generator = RuboCop::Cop::Generator.new(cop_name, github_user) + + generator.write_source + generator.write_test + generator.inject_require(root_file_path: 'lib/rubocop/cop/minitest_cops.rb') + generator.inject_config(config_file_path: 'config/default.yml', version_added: bump_minor_version) + + puts generator.todo +end + +def bump_minor_version + major, minor, _patch = RuboCop::Minitest::VERSION.split('.') + + "#{major}.#{minor.succ}" +end