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