Skip to content

immosquare/immosquare-cleaner

Repository files navigation

Immosquare-cleaner

A meticulously crafted Ruby gem to enhance the cleanliness and structure of your project's files. This tool ensures consistency and uniformity across various formats, including Ruby, ERB, YAML, Markdown, JSON, JS, CSS, SASS, LESS, and other formats supported by Prettier.

Supported Formats

The cleaner recognizes and caters to various file formats:

File Type File Extension Processor
ERB .html.erb , .html htmlbeautifier && erb-lint
Ruby .rb, .rake, Gemfile, Rakefile, .axlsx, .gemspec, .ru, .podspec, .jbuilder, .rabl, .thor, config.ru, Berksfile, Capfile, Guardfile, Podfile, Thorfile, Vagrantfile rubocop
YAML .yml (only files in locales folder) ImmosquareYaml
JS .js, .mjs eslint
JSON .json ImmosquareExtensions
Markdown .md, .md.erb ImmosquareCleaner
Others Any other format prettier

Linter Configurations

You can view the specific configurations for all supported linters in the linters folder of the repository.

Installation

Prerequisite: Please be sure to have bun installed. (This is necessary to launch eslint & prettier commands.)

Add the gem in your development group in the Gemfile:

group :development do
  ...
  gem "immosquare-cleaner"
  ...
end

Configuration

Tailor the behavior of the gem/module with the provided configuration options:

ImmosquareCleaner.config do |config|
  config.rubocop_options        = "--your-rubocop-options-here"
  config.htmlbeautifier_options = "--your-htmlbeautifier-options-here"
  config.erblint_options        = "--your-erblint-options-here"
end

Usage

To clean a specific file:

ImmosquareCleaner.clean("path/to/your/file.rb")

Rake Tasks

To clean rails project files:

rake immosquare_cleaner:clean_app

Integration with Visual Studio Code

Automate the cleaning process for all files upon saving in VS Code:

  1. Install the Run on Save extension from the VS Code marketplace.
  2. Add the following configuration to your settings.json in VS Code:
"emeraldwalk.runonsave": {
  "commands": [
    {
      "match": ".*",
      "cmd": "if bundle info immosquare-cleaner &>/dev/null; then bundle exec immosquare-cleaner '${file}'; else echo 'please install the gem immosquare-cleaner'; fi",
      "runIn": "backend"
    }
  ]
}

With the above, every time you save a file in VS Code, it will automatically be cleaned using immosquare-cleaner.

Contributing

Contributions are welcome! Please open an issue or submit a pull request on our GitHub repository.

License

This gem is available under the terms of the MIT License.

About

Clean Ruby On Rails files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •