Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/packsaddle/rubocop-select
https://github.com/packsaddle/rubocop-select
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/packsaddle/rubocop-select
- Owner: packsaddle
- License: mit
- Archived: true
- Created: 2015-02-11T18:05:58.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2020-10-21T20:42:34.000Z (about 4 years ago)
- Last Synced: 2024-04-26T04:03:29.999Z (7 months ago)
- Language: Ruby
- Homepage: http://packsaddle.org
- Size: 36.1 KB
- Stars: 7
- Watchers: 4
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# RuboCop::Select
[![Gem Version](http://img.shields.io/gem/v/rubocop-select.svg?style=flat)](http://badge.fury.io/rb/rubocop-select)
[![Build Status](http://img.shields.io/travis/packsaddle/rubocop-select/master.svg?style=flat)](https://travis-ci.org/packsaddle/rubocop-select)Select file path only executable by RuboCop. **Diff RuboCop** comes!
You can use `rubocop --force-exclusion` also.
## Usage
Pipe between `git diff` and `rubocop`.
```sh
$ git diff -z --name-only origin/master..HEAD | xargs -0 bundle exec rubocop-select | xargs rubocop
```## What is this?
I changed files.
```sh
$ git diff --name-only origin/master..HEAD
.rubocop.yml
README.md
Rakefile
lib/rubocop/select/file.rb
```I want to run rubocop on changed files.
```sh
$ git diff --name-only origin/master..HEAD | xargs rubocop
Inspecting 4 files
EF.COffenses:
.rubocop.yml:10:9: E: unexpected token tLABEL
Metrics/LineLength:
^^^^^^^^^^^
.rubocop.yml:14:7: E: unexpected token tLABEL
Style/Documentation:
^^^^^^^^^^^^^^
.rubocop.yml:19:7: E: unexpected token tLABEL
Style/RegexpLiteral:
^^^^^^^^^^^^^^
(snip)
```I don't want to run rubocop with `.rubocop.yml`, `README.md`.
This is why `rubocop-select` comes.```sh
$ git diff -z --name-only origin/master..HEAD | xargs -0 bundle exec rubocop-select
/Users/sane/work/ruby-study/rubocop-select/Rakefile
/Users/sane/work/ruby-study/rubocop-select/lib/rubocop/select/file.rb
```Great!
```sh
$ git diff -z --name-only origin/master..HEAD | xargs -0 bundle exec rubocop-select| xargs rubocop
Inspecting 2 files
.COffenses:
lib/rubocop/select/file.rb:21:1: C: Trailing whitespace detected.
2 files inspected, 1 offense detected
```Done. :) :) :)
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'rubocop-select'
```And then execute:
$ bundle
Or install it yourself as:
$ gem install rubocop-select
## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Contributing
1. Fork it ( https://github.com/packsaddle/rubocop-select/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request