File: Rakefile

package info (click to toggle)
ruby-rubocop-packaging 0.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 220 kB
  • sloc: ruby: 739; sh: 4; makefile: 4
file content (40 lines) | stat: -rw-r--r-- 932 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# frozen_string_literal: true

require "bundler/gem_tasks"
require "rspec/core/rake_task"
require "rubocop/rake_task"

locallib = File.join(File.dirname(__FILE__), "lib")
$LOAD_PATH.unshift locallib

Dir["tasks/**/*.rake"].each { |t| load t }

RSpec::Core::RakeTask.new(:spec)
RuboCop::RakeTask.new

task default: %i[
  spec
  rubocop
]

desc "Generate a new cop with a 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_spec
  generator.inject_require(root_file_path: "lib/rubocop/cop/packaging_cops.rb")
  generator.inject_config(config_file_path: "config/default.yml")

  puts generator.todo
end