Sha256: f9090f832e40737714c9d4ee53a2e2c5d57d46985f8cd482bac44d1ffb07a143

Contents?: true

Size: 1008 Bytes

Versions: 2

Compression:

Stored size: 1008 Bytes

Contents

require "rails/generators"

module ReactOnRails
  module Generators
    class RubyLintersGenerator < Rails::Generators::Base
      Rails::Generators.hide_namespace(namespace)
      source_root File.expand_path("../templates", __FILE__)

      def add_ruby_linter_gems_to_gemfile
        linter_gems = <<-GEMS.strip_heredoc

          # require: false is necessary for the linters as we only want them loaded
          # when used by the linting rake tasks.
          group :development do
            gem("rubocop", require: false)
            gem("ruby-lint", require: false)
            gem("scss_lint", require: false)
          end
        GEMS
        append_to_file("Gemfile", linter_gems)
      end

      def copy_ruby_linting_and_auditing_tasks
        base_path = "ruby_linters/"
        %w(lib/tasks/brakeman.rake
           lib/tasks/ci.rake
           .rubocop.yml
           .scss-lint.yml
           ruby-lint.yml).each { |file| copy_file(base_path + file, file) }
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
react_on_rails-1.2.2 lib/generators/react_on_rails/ruby_linters_generator.rb
react_on_rails-1.2.1 lib/generators/react_on_rails/ruby_linters_generator.rb