renuo-bin-check 1.0.0.beta1 → 1.0.0.beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +10 -0
- data/CHANGELOG.md +7 -0
- data/README.md +19 -19
- data/lib/renuo_bin_check/bin_check.rb +1 -3
- data/lib/renuo_bin_check/default_scripts/default_rails.rb +5 -3
- data/lib/renuo_bin_check/default_scripts/default_scripts.rb +5 -3
- data/lib/renuo_bin_check/default_scripts/rubocop-autocorrect.sh +11 -0
- data/lib/renuo_bin_check/script_config.rb +13 -2
- data/lib/renuo_bin_check/servant_thread.rb +1 -0
- data/lib/renuo_bin_check/version.rb +1 -1
- data/spec/renuo/bin-check/default_scripts/default_scripts_spec.rb +6 -7
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 48fab45d683bbc1e9cd8333ff87c35425389711a
|
4
|
+
data.tar.gz: 5384edf0fdd441236be7eb1da70f1556e098f4fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f0b98a715b68b7d732e6923a2a2f8575e3f40bf40fdd69916927bf01c4a048fa803e459110ceb795b1fb89a2d9098c4cf3ce0434c0e1d7800f22f53131a724c
|
7
|
+
data.tar.gz: d9b52541149d25add4e55ec50ff6dc01afe9d0e16863354b019803e2309e79526a7626faeb74b2c60d4aeee9d3bda1f0a35a03864ed3906cbb9de45fe404d232
|
data/.rubocop.yml
CHANGED
@@ -10,9 +10,19 @@ Style/Documentation:
|
|
10
10
|
Style/NonNilCheck:
|
11
11
|
IncludeSemanticChanges: true
|
12
12
|
|
13
|
+
Style/FileName:
|
14
|
+
Exclude:
|
15
|
+
- 'Gemfile.local.rb'
|
16
|
+
- 'Gemfile.local.example.rb'
|
17
|
+
|
13
18
|
Style/FrozenStringLiteralComment:
|
14
19
|
Enabled: false
|
15
20
|
|
21
|
+
Metrics/BlockLength:
|
22
|
+
Enabled: true
|
23
|
+
Exclude:
|
24
|
+
- spec/**/*
|
25
|
+
|
16
26
|
AllCops:
|
17
27
|
TargetRubyVersion: 2.3
|
18
28
|
Include:
|
data/CHANGELOG.md
CHANGED
@@ -53,3 +53,10 @@ This release introduces a new fancy DSL (yeyy) which is easier to use and brings
|
|
53
53
|
* Defaults are available and can be used
|
54
54
|
|
55
55
|
* Possibility to exclude specific checks of a default
|
56
|
+
|
57
|
+
## Version 1.0.0.beta2
|
58
|
+
|
59
|
+
Fix mistakes in Default Scripts:
|
60
|
+
* Rubocop autocorrect fails if any issues are found, even if they can be autocorrected.
|
61
|
+
* Rspec wont use the cache, if the Gemfile.lock has changed.
|
62
|
+
* Rubocop wont use the cache, if any file from `config/**/*.rb` has changed.
|
data/README.md
CHANGED
@@ -14,7 +14,7 @@ Add renuo-bin-check to your Gemfile:
|
|
14
14
|
gem 'renuo-bin-check', group: :bin_check
|
15
15
|
```
|
16
16
|
|
17
|
-
Create a file at any place you want. Usually it would be called `bin/check though.
|
17
|
+
Create a file at any place you want. Usually it would be called `bin/check` though.
|
18
18
|
You can now configure your checks like that:
|
19
19
|
|
20
20
|
```rb
|
@@ -25,7 +25,7 @@ Bundler.require(:bin_check)
|
|
25
25
|
# run bin-check with rails-defaults
|
26
26
|
BinCheck.run do
|
27
27
|
#add a new check
|
28
|
-
<
|
28
|
+
<name_of_check> do
|
29
29
|
command "<a one line command or a path to a script>"
|
30
30
|
files ['<path-to-file-1>', '<path-to-file-2>']
|
31
31
|
reversed_exit <true or false>
|
@@ -45,13 +45,13 @@ It is also possible to have common configurations and to not run the rails-defau
|
|
45
45
|
#run bin without defaults
|
46
46
|
BinCheck.run :no_defaults do
|
47
47
|
# define common settings for all checks in the block
|
48
|
-
<
|
48
|
+
<name_of_your_common_configuration> do
|
49
49
|
reversed_exit <true or false>
|
50
50
|
success_message '<output to display if script succeeds>'
|
51
51
|
error_message '<output to display if script fails>'
|
52
52
|
|
53
53
|
# add check
|
54
|
-
<
|
54
|
+
<name_of_check> do
|
55
55
|
# add specific settings for this check
|
56
56
|
command "<a one line command or a path to a script>"
|
57
57
|
files ['<path-to-file-1>', '<path-to-file-2>']
|
@@ -62,20 +62,6 @@ BinCheck.run :no_defaults do
|
|
62
62
|
end
|
63
63
|
```
|
64
64
|
|
65
|
-
## Setup
|
66
|
-
|
67
|
-
git clone git@github.com:renuo/renuo-bin-check.git
|
68
|
-
cd renuo-bin-check
|
69
|
-
bin/setup
|
70
|
-
|
71
|
-
|
72
|
-
## Run Tests
|
73
|
-
|
74
|
-
The following script will run *rspec*, *rubocop*, *reek*, scanner for debugging outputs and a scanner for TODOs
|
75
|
-
|
76
|
-
bin/check
|
77
|
-
|
78
|
-
|
79
65
|
### Options for Configuration
|
80
66
|
|
81
67
|
#### command
|
@@ -178,7 +164,7 @@ The configuration options can be called in any order.
|
|
178
164
|
|
179
165
|
```rb
|
180
166
|
BinCheck do
|
181
|
-
|
167
|
+
todo_grepper do
|
182
168
|
command "grep --exclude-dir='app/assets/typings/**' -i -r 'TODO'"\
|
183
169
|
"app spec config db Rakefile README.md Gemfile"
|
184
170
|
files ['app/**/*', 'spec/**/*', 'config/**/*', 'db/**/*', 'Rakefile', 'README.md', 'Gemfile']
|
@@ -194,6 +180,20 @@ end
|
|
194
180
|
* scss-lint doesnt work yet with renuo-bin-check
|
195
181
|
* reek doesnt work yet with renuo-bin-check
|
196
182
|
|
183
|
+
## Setup
|
184
|
+
|
185
|
+
git clone git@github.com:renuo/renuo-bin-check.git
|
186
|
+
cd renuo-bin-check
|
187
|
+
bin/setup
|
188
|
+
|
189
|
+
|
190
|
+
## Run Tests
|
191
|
+
|
192
|
+
The following script will run *rspec*, *rubocop*, *reek*, scanner for debugging outputs and a scanner for TODOs
|
193
|
+
|
194
|
+
bin/check
|
195
|
+
|
196
|
+
|
197
197
|
## Contribute
|
198
198
|
|
199
199
|
If you would like to contribute, you're very welcome to.
|
@@ -108,7 +108,7 @@ module RenuoBinCheck
|
|
108
108
|
def tslint(bin_check)
|
109
109
|
bin_check.check do |config|
|
110
110
|
config.command 'tslint -c tslint.json app/assets/javascripts/**/*.ts'
|
111
|
-
config.files ['app
|
111
|
+
config.files ['app/**/*.ts']
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
@@ -128,14 +128,16 @@ module RenuoBinCheck
|
|
128
128
|
def reek(bin_check)
|
129
129
|
bin_check.check do |config|
|
130
130
|
config.command 'bundle exec reek'
|
131
|
-
config.files ['app/**/*.rb'
|
131
|
+
config.files ['app/**/*.rb', 'spec/**/*.rb', 'config/**/*', 'db/**/*.rb', 'lib/**/*.rb', 'lib/**/*.rake',
|
132
|
+
'lib/**/*.rake', 'Gemfile*', '.reek']
|
132
133
|
end
|
133
134
|
end
|
134
135
|
|
135
136
|
def rspec(bin_check)
|
136
137
|
bin_check.check do |config|
|
137
138
|
config.command 'bundle exec rspec'
|
138
|
-
config.files ['app/**/*.rb', 'spec/**/*.rb'
|
139
|
+
config.files ['app/**/*.rb', 'spec/**/*.rb', 'config/**/*', 'db/**/*.rb', 'lib/**/*.rb', 'lib/**/*.rake',
|
140
|
+
'lib/**/*.rake', 'Gemfile', 'Gemfile.lock', '.rspec']
|
139
141
|
end
|
140
142
|
end
|
141
143
|
|
@@ -47,6 +47,7 @@ class DefaultScripts
|
|
47
47
|
rspec
|
48
48
|
@default_scripts
|
49
49
|
end
|
50
|
+
|
50
51
|
# rubocop:enable Metrics/MethodLength
|
51
52
|
|
52
53
|
def todo
|
@@ -105,8 +106,8 @@ class DefaultScripts
|
|
105
106
|
|
106
107
|
def rubocop_autocorrect
|
107
108
|
@default_scripts << DSLConfig.new('rubocop_autocorrect') do
|
108
|
-
command '
|
109
|
-
files ['app/**/*.rb', 'spec/**/*.rb']
|
109
|
+
command File.join(File.dirname(__FILE__), 'rubocop-autocorrect.sh')
|
110
|
+
files ['app/**/*.rb', 'spec/**/*.rb', 'config/**/*.rb']
|
110
111
|
end
|
111
112
|
end
|
112
113
|
|
@@ -161,7 +162,8 @@ class DefaultScripts
|
|
161
162
|
def rspec
|
162
163
|
@default_scripts << DSLConfig.new('rspec') do
|
163
164
|
command 'bundle exec rspec'
|
164
|
-
files ['app/**/*.rb', 'spec/**/*.rb'
|
165
|
+
files ['app/**/*.rb', 'spec/**/*.rb', 'config/**/*', 'db/**/*.rb', 'lib/**/*.rb', 'lib/**/*.rake',
|
166
|
+
'lib/**/*.rake', 'Gemfile', 'Gemfile.lock', '.rspec']
|
165
167
|
end
|
166
168
|
end
|
167
169
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
#!/bin/zsh
|
2
|
+
|
3
|
+
source ~/.zshrc
|
4
|
+
|
5
|
+
bundle exec rubocop -D -c .rubocop.yml --fail-fast
|
6
|
+
if [ ! $? -eq 0 ]; then
|
7
|
+
echo 'rubocop detected issues!'
|
8
|
+
bundle exec rubocop -a -D -c .rubocop.yml
|
9
|
+
echo 'Tried to auto correct the issues, but must be reviewed manually, commit aborted'
|
10
|
+
exit 1
|
11
|
+
fi
|
@@ -4,6 +4,11 @@ module RenuoBinCheck
|
|
4
4
|
attr_accessor :script_command, :script_files, :script_name, :script_reversed_exit, :script_standard_output,
|
5
5
|
:script_error_output, :appended_standard_output, :appended_error_output
|
6
6
|
|
7
|
+
def initialize
|
8
|
+
@script_command = nil
|
9
|
+
@script_reversed_exit = nil
|
10
|
+
end
|
11
|
+
|
7
12
|
def command(command)
|
8
13
|
@script_command = command
|
9
14
|
end
|
@@ -53,9 +58,15 @@ module RenuoBinCheck
|
|
53
58
|
end
|
54
59
|
|
55
60
|
def script_command
|
56
|
-
|
57
|
-
' Gem here in the Readme: https://github.com/renuo/renuo-bin-check' unless @script_command
|
61
|
+
raise_script_command_not_set unless @script_command
|
58
62
|
@script_command
|
59
63
|
end
|
64
|
+
|
65
|
+
private
|
66
|
+
|
67
|
+
def raise_script_command_not_set
|
68
|
+
raise 'There must be a command set for each script you want to run. Find further instruction on how to use' \
|
69
|
+
' this Gem here in the Readme: https://github.com/renuo/renuo-bin-check'
|
70
|
+
end
|
60
71
|
end
|
61
72
|
end
|
@@ -112,12 +112,10 @@ RSpec.describe DefaultScripts do
|
|
112
112
|
end
|
113
113
|
|
114
114
|
it '#rubocop_autocorrect' do
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
files: ['app/**/*.rb', 'spec/**/*.rb']
|
120
|
-
)
|
115
|
+
configs = default_scripts.rubocop_autocorrect.last.configs
|
116
|
+
expect(configs[:name]).to eq('rubocop_autocorrect')
|
117
|
+
expect(configs[:command]).to end_with('lib/renuo_bin_check/default_scripts/rubocop-autocorrect.sh')
|
118
|
+
expect(configs[:files]).to eq(['app/**/*.rb', 'spec/**/*.rb', 'config/**/*.rb'])
|
121
119
|
end
|
122
120
|
|
123
121
|
it '#slim_lint' do
|
@@ -185,7 +183,8 @@ RSpec.describe DefaultScripts do
|
|
185
183
|
.to eq(
|
186
184
|
name: 'rspec',
|
187
185
|
command: 'bundle exec rspec',
|
188
|
-
files: ['app/**/*.rb', 'spec/**/*.rb'
|
186
|
+
files: ['app/**/*.rb', 'spec/**/*.rb', 'config/**/*', 'db/**/*.rb', 'lib/**/*.rb', 'lib/**/*.rake',
|
187
|
+
'lib/**/*.rake', 'Gemfile', 'Gemfile.lock', '.rspec']
|
189
188
|
)
|
190
189
|
end
|
191
190
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: renuo-bin-check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.beta2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zora Fuchs
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: awesome_print
|
@@ -209,6 +209,7 @@ files:
|
|
209
209
|
- lib/renuo_bin_check/cacher.rb
|
210
210
|
- lib/renuo_bin_check/default_scripts/default_rails.rb
|
211
211
|
- lib/renuo_bin_check/default_scripts/default_scripts.rb
|
212
|
+
- lib/renuo_bin_check/default_scripts/rubocop-autocorrect.sh
|
212
213
|
- lib/renuo_bin_check/dsl_config.rb
|
213
214
|
- lib/renuo_bin_check/initializer.rb
|
214
215
|
- lib/renuo_bin_check/master_thread.rb
|