LintTrap
Detects languages of files, determines appropriate linters, and runs then. Created for LintCI.
Installation
Add this line to your application's Gemfile:
gem 'lint_trap'
And then execute:
$ bundle
Or install it yourself as:
$ gem install lint_trap
Usage
Language Detection
require 'lint_trap'
language = LintTrap::Language.detect('bad.rb')
language.name #=> 'Ruby'
language.linters #=> [<Rubocop>]
Linting
require 'lint_trap'
container = LintTrap::Container::Docker.new('lintci/lint_trap')
linter = LintTrap::Linter.find('RuboCop')
linter.run(['bad.rb'], container, {}) do |violation|
violation #=> {
# file: 'bad.rb',
# line: '2',
# column: '7',
# length: '4',
# rule: 'Style/MethodName',
# severity: 'convention',
# message: 'Use snake_case for methods.'
# }
end
Contributing
- Fork it ( https://github.com/[my-github-username]/lint_trap/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request