Sha256: bf56978bf96674752e4aa24699273b1c50e6ae1c4b67a56b1408c50e1ac0700e

Contents?: true

Size: 1.62 KB

Versions: 6

Compression:

Stored size: 1.62 KB

Contents

# frozen_string_literal: true

begin
  require 'rubocop'
  require 'rubocop/rake_task'
rescue LoadError # rubocop:disable Lint/HandleExceptions
else
  require 'rbconfig'
  # https://github.com/bundler/bundler/blob/1b3eb2465a/lib/bundler/constants.rb#L2
  windows_platforms = /(msdos|mswin|djgpp|mingw)/
  if RbConfig::CONFIG['host_os'] =~ windows_platforms
    desc 'No-op rubocop on Windows-- unsupported platform'
    task :rubocop do
      puts 'Skipping rubocop on Windows'
    end
  elsif defined?(::Rubinius)
    desc 'No-op rubocop to avoid rbx segfault'
    task :rubocop do
      puts 'Skipping rubocop on rbx due to segfault'
      puts 'https://github.com/rubinius/rubinius/issues/3499'
    end
  else
    Rake::Task[:rubocop].clear if Rake::Task.task_defined?(:rubocop)
    patterns = [
      'Gemfile',
      'Rakefile',
      'lib/**/*.{rb,rake}',
      'config/**/*.rb',
      'app/**/*.rb',
      'test/**/*.rb'
    ]
    desc 'Execute rubocop'
    RuboCop::RakeTask.new(:rubocop) do |task|
      task.options = ['--rails', '--display-cop-names', '--display-style-guide']
      task.formatters = ['progress']
      task.patterns = patterns
      task.fail_on_error = true
    end

    namespace :rubocop do
      desc 'Auto-gen rubocop config'
      task :auto_gen_config do
        options = ['--auto-gen-config'].concat patterns
        require 'benchmark'
        result = 0
        cli = RuboCop::CLI.new
        time = Benchmark.realtime do
          result = cli.run(options)
        end
        puts "Finished in #{time} seconds" if cli.options[:debug]
        abort('RuboCop failed!') if result.nonzero?
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
active_model_serializers-0.10.13 lib/tasks/rubocop.rake
active_model_serializers-0.10.12 lib/tasks/rubocop.rake
active_model_serializers-0.10.11 lib/tasks/rubocop.rake
active_model_serializers-0.10.10 lib/tasks/rubocop.rake
active_model_serializers_custom-0.10.90 lib/tasks/rubocop.rake
active_model_serializers-0.10.9 lib/tasks/rubocop.rake