erb-lint

Set up erb-lint and better-html
Icons/chart bar
Used 40 times
Created by
T TobiasBales

Usage

Run this command in your Rails app directory in the terminal:

rails app:template LOCATION="https://railsbytes.com/script/zyvsPv"
Template Source

Review the code before running this template on your machine.

def create_bin(name, command = nil)
  create_file "bin/#{name}" do <<~EOF
    #!/usr/bin/env ruby
    APP_ROOT = File.expand_path('..', __dir__)
    Dir.chdir(APP_ROOT) do
      begin
        exec '#{command || name}'
      rescue Errno::ENOENT
        $stderr.puts "#{name} executable was not detected in the system."
        exit 1
      end
    end
  EOF
  end
  `chmod +x bin/#{name}`
end

gem 'better_html'

gem_group :development do
  gem 'erb_lint'
end

Bundler.with_unbundled_env { run 'bundle install' }

create_file '.erb-lint.yml' do <<~YAML
    ---
    EnableDefaultLinters: true
    linters:
      ErbSafety:
        enabled: true
      Rubocop:
        enabled: true
        rubocop_config:
          inherit_from:
            - .rubocop.yml
          Style/FrozenStringLiteralComment:
            Enabled: false
          Layout/InitialIndentation:
            Enabled: false
          Layout/TrailingEmptyLines:
            Enabled: false

  YAML
end

create_bin 'erb_lint', 'erblint --lint-all'
create_bin 'erb_lint_fix', 'erblint --lint-all --autocorrect'

system('bin/erb_lint_fix')
Comments

Sign up or Login to leave a comment.