lifen-ruby-style 1.0.2 → 1.0.7
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/.overcommit.yml +1 -0
- data/README.md +14 -5
- data/default_overcommit.yml +1 -0
- data/default_rubocop.yml +19 -9
- data/lib/lifen/ruby_style/version.rb +1 -1
- data/lifen-ruby-style.gemspec +1 -1
- data/style_guide.md +22 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9ae91d8b6be61444ed549376d44e7f8e0b3ac8fe4c60b5e3ba80ce0c84d3d1b
|
4
|
+
data.tar.gz: 3368e3ef8bd97fab3df455249b1844fd4a688bbcb7e5057e0078fa18dd394181
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aefe6e1a1d0cabfea933a8fc8831d173e33f62a2b0512e87fbbe0b0b531d7f3d0369c623ca809ec3a9cf7878c9fbd213931c40bfdd3c83fc51732c1667d71e62
|
7
|
+
data.tar.gz: d6f6482c2ba5333667208e14dd9d0a395f01cd6d8aa97a2dc3c574989d795b34919b17754453089cbeeadf7d4171db1c05228726af631e6d519cdf1fa56d0f26
|
data/.overcommit.yml
CHANGED
data/README.md
CHANGED
@@ -61,7 +61,7 @@ $ echo '--force-exclusion' > .rubocop
|
|
61
61
|
### 3. Config Overcommit
|
62
62
|
|
63
63
|
```bash
|
64
|
-
$ curl https://raw.githubusercontent.com/honestica/lifen-ruby-style/master/default_overcommit.yml > .
|
64
|
+
$ curl https://raw.githubusercontent.com/honestica/lifen-ruby-style/master/default_overcommit.yml > .overcommit.yml
|
65
65
|
```
|
66
66
|
|
67
67
|
### 4. Installer les dépendances
|
@@ -123,17 +123,20 @@ $ bundle exec overcommit --install
|
|
123
123
|
- Paramétrage recommandé pour l'auto-formatting :
|
124
124
|
|
125
125
|
```json
|
126
|
+
"editor.formatOnPaste": true, // global auto-format code when pasting
|
127
|
+
"editor.formatOnSave": true, // global auto-format code when saving
|
126
128
|
"[ruby]": {
|
127
|
-
"editor.
|
128
|
-
"editor.formatOnSave": true // auto-format ruby code when saving
|
129
|
+
"editor.formatOnSave": false // disable auto-format on save only for ruby files
|
129
130
|
},
|
130
131
|
```
|
131
132
|
|
132
133
|
ou
|
133
134
|
|
134
135
|
```json
|
135
|
-
"
|
136
|
-
|
136
|
+
"[ruby]": {
|
137
|
+
"editor.formatOnPaste": true, // auto-format ruby code when pasting
|
138
|
+
"editor.formatOnSave": false // auto-format ruby code when saving
|
139
|
+
},
|
137
140
|
```
|
138
141
|
|
139
142
|
### 3. Bonus - Autres extensions utiles :
|
@@ -267,6 +270,11 @@ https://github.com/dense-analysis/ale
|
|
267
270
|
- Si je veux bypasser les hooks (déconseillé) : `OVERCOMMIT_DISABLE=1 git commit ...`
|
268
271
|
- Je push (pas de hooks de pre-push paramétrés pour l'instant)
|
269
272
|
|
273
|
+
Attention :
|
274
|
+
|
275
|
+
- si vous faites "Ctrl+C" pendant qu'un hook overcommit tourne, overcommit fait un `git stash save` et vous pouvez retrouver ce qui a disparu avec `git stast list / show / pop`
|
276
|
+
- dans le même registre, ne faites pas de `watch .git/hooks/pre-commit`, si vous éditez vos fichiers dans une autre fenêtre, overcommit va régulièrement stasher vos modifs, et vous allez tourner en rond à éditer des fichiers qui changent sous vos pieds.
|
277
|
+
|
270
278
|
### Commandes Rubocop
|
271
279
|
|
272
280
|
Pour de la vérification :
|
@@ -362,6 +370,7 @@ Vous allez vouloir tester localement les modifications de règle de style que vo
|
|
362
370
|
|
363
371
|
## TODO
|
364
372
|
|
373
|
+
[ ] Ajouter rubocop-daemon (arriver à faire une bonne intégration aux IDE)
|
365
374
|
[ ] Ajouter le hook de pre-commit au CI
|
366
375
|
[ ] Ajouter un hook de pre-push ?
|
367
376
|
[ ] Ajouter `fasterer` si pertinent
|
data/default_overcommit.yml
CHANGED
data/default_rubocop.yml
CHANGED
@@ -5,6 +5,7 @@ require:
|
|
5
5
|
|
6
6
|
AllCops:
|
7
7
|
DisplayStyleGuide: true
|
8
|
+
NewCops: enable
|
8
9
|
TargetRubyVersion: 2.5
|
9
10
|
Exclude:
|
10
11
|
- "test/**/*.rb"
|
@@ -16,14 +17,6 @@ AllCops:
|
|
16
17
|
- "spec/rails_helper.rb"
|
17
18
|
- "node_modules/**/*"
|
18
19
|
|
19
|
-
# Waiting for default config
|
20
|
-
Style/HashEachMethods:
|
21
|
-
Enabled: true
|
22
|
-
Style/HashTransformKeys:
|
23
|
-
Enabled: true
|
24
|
-
Style/HashTransformValues:
|
25
|
-
Enabled: true
|
26
|
-
|
27
20
|
Layout/ArgumentAlignment:
|
28
21
|
EnforcedStyle: with_fixed_indentation
|
29
22
|
|
@@ -87,6 +80,13 @@ Metrics/PerceivedComplexity:
|
|
87
80
|
Naming/MemoizedInstanceVariableName:
|
88
81
|
EnforcedStyleForLeadingUnderscores: required
|
89
82
|
|
83
|
+
RSpec/DescribeClass:
|
84
|
+
Exclude:
|
85
|
+
- spec/lib/tasks/deployment/**/*
|
86
|
+
|
87
|
+
Style/BlockDelimiters:
|
88
|
+
EnforcedStyle: braces_for_chaining
|
89
|
+
|
90
90
|
Style/ClassAndModuleChildren:
|
91
91
|
Enabled: false
|
92
92
|
|
@@ -116,6 +116,13 @@ Rails/DynamicFindBy:
|
|
116
116
|
Enabled: true
|
117
117
|
AutoCorrect: false
|
118
118
|
|
119
|
+
Rails/UnknownEnv:
|
120
|
+
Environments:
|
121
|
+
- production
|
122
|
+
- development
|
123
|
+
- test
|
124
|
+
- staging
|
125
|
+
|
119
126
|
RSpec/AnyInstance:
|
120
127
|
Enabled: false
|
121
128
|
|
@@ -128,11 +135,14 @@ RSpec/ExampleLength:
|
|
128
135
|
RSpec/HookArgument:
|
129
136
|
EnforcedStyle: each
|
130
137
|
|
138
|
+
RSpec/LetSetup:
|
139
|
+
Enabled: false
|
140
|
+
|
131
141
|
RSpec/MultipleExpectations:
|
132
142
|
Enabled: false
|
133
143
|
|
134
144
|
RSpec/NestedGroups:
|
135
|
-
Max:
|
145
|
+
Max: 5
|
136
146
|
|
137
147
|
RSpec/NotToNot:
|
138
148
|
EnforcedStyle: to_not
|
data/lifen-ruby-style.gemspec
CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.require_paths = ['lib']
|
31
31
|
|
32
32
|
spec.add_dependency 'overcommit'
|
33
|
-
spec.add_dependency 'rubocop', '~> 0.
|
33
|
+
spec.add_dependency 'rubocop', '~> 0.88'
|
34
34
|
spec.add_dependency 'rubocop-performance', '~> 1.5'
|
35
35
|
spec.add_dependency 'rubocop-rails', '~> 2.4'
|
36
36
|
spec.add_dependency 'rubocop-rspec', '~> 1.38'
|
data/style_guide.md
CHANGED
@@ -619,6 +619,12 @@ before(:each) do
|
|
619
619
|
end
|
620
620
|
```
|
621
621
|
|
622
|
+
#### LetSetup
|
623
|
+
|
624
|
+
```yaml
|
625
|
+
Enabled: false // does not check unreferenced let! calls being used for test setup
|
626
|
+
```
|
627
|
+
|
622
628
|
#### MultipleExpectations
|
623
629
|
|
624
630
|
```yaml
|
@@ -651,6 +657,22 @@ end
|
|
651
657
|
Enabled: false // example groups can have the same description string.
|
652
658
|
```
|
653
659
|
|
660
|
+
#### Block Delimiters
|
661
|
+
|
662
|
+
##### EnforcedStyle: braces_for_chaining
|
663
|
+
|
664
|
+
```ruby
|
665
|
+
# bad
|
666
|
+
words.each do |word|
|
667
|
+
word.flip.flop
|
668
|
+
end.join("-")
|
669
|
+
|
670
|
+
# good
|
671
|
+
words.each { |word|
|
672
|
+
word.flip.flop
|
673
|
+
}.join("-")
|
674
|
+
```
|
675
|
+
|
654
676
|
</details>
|
655
677
|
|
656
678
|
### Default rules
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lifen-ruby-style
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Team Lifen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: overcommit
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.88'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
40
|
+
version: '0.88'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rubocop-performance
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|