finstyle 1.4.0 → 1.5.0
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/.travis.yml +1 -0
- data/CHANGELOG.md +15 -0
- data/README.md +1 -1
- data/config/disabled.yml +29 -1
- data/config/enabled.yml +144 -11
- data/config/finstyle.yml +13 -1
- data/config/upstream.yml +233 -7
- data/finstyle.gemspec +1 -1
- data/lib/finstyle.rb +3 -0
- data/lib/finstyle/version.rb +3 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb52b61fbd36937ee920334582446d8b0f7ccbca
|
4
|
+
data.tar.gz: 5f26849bb13445851863d9775346a8f5c321adb7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b91228cfbc8304286324a213a5e850ba370e8ff44d2ba44d641de25c9043287e18fd29c56fd995f79ac5c3bf77b54e90de27769c00986354056e14cf5d5b1cea
|
7
|
+
data.tar.gz: 75bc6e7c8460adaa7ace7a12b2d393a3016acd230ec8872255c4347050dd908ab9744028e710d38673af33363b163adf58114a1f94fd83158ef2531c87efc5eb
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## 1.5.0 / 2015-06-29
|
2
|
+
|
3
|
+
### Breaking changes
|
4
|
+
|
5
|
+
* Pull request [#4][]: Upgrade to RuboCop 0.32.1 support. ([@fnichol][])
|
6
|
+
* Pull request [#3][]: Upgrade to RuboCop 0.30.1 support. ([@fnichol][])
|
7
|
+
|
8
|
+
### Improvements
|
9
|
+
|
10
|
+
* Pull request [#2][]: Ensure the desired target version of RuboCop is gem activated. ([@fnichol][])
|
11
|
+
|
12
|
+
|
1
13
|
## 1.4.0 / 2014-12-15
|
2
14
|
|
3
15
|
### Breaking changes
|
@@ -53,5 +65,8 @@ The initial release.
|
|
53
65
|
|
54
66
|
<!--- The following link definition list is generated by PimpMyChangelog --->
|
55
67
|
[#1]: https://github.com/fnichol/finstyle/issues/1
|
68
|
+
[#2]: https://github.com/fnichol/finstyle/issues/2
|
69
|
+
[#3]: https://github.com/fnichol/finstyle/issues/3
|
70
|
+
[#4]: https://github.com/fnichol/finstyle/issues/4
|
56
71
|
[@cwjohnston]: https://github.com/cwjohnston
|
57
72
|
[@fnichol]: https://github.com/fnichol
|
data/README.md
CHANGED
@@ -111,7 +111,7 @@ Ideally create a topic branch for every separate change you make. For
|
|
111
111
|
example:
|
112
112
|
|
113
113
|
|
114
|
-
1. Fork it ( https://github.com/
|
114
|
+
1. Fork it ( https://github.com/fnichol/finstyle/fork )
|
115
115
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
116
116
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
117
117
|
4. Push to the branch (`git push origin my-new-feature`)
|
data/config/disabled.yml
CHANGED
@@ -1,8 +1,16 @@
|
|
1
1
|
# These are all the cops that are disabled in the default configuration.
|
2
2
|
|
3
|
+
Style/AutoResourceCleanup:
|
4
|
+
Description: 'Suggests the usage of an auto resource cleanup version of a method (if available).'
|
5
|
+
Enabled: false
|
6
|
+
|
3
7
|
Style/CollectionMethods:
|
4
8
|
Description: 'Preferred collection methods.'
|
5
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#map-
|
9
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#map-find-select-reduce-size'
|
10
|
+
Enabled: false
|
11
|
+
|
12
|
+
Style/Copyright:
|
13
|
+
Description: 'Include a copyright notice in each file before any code.'
|
6
14
|
Enabled: false
|
7
15
|
|
8
16
|
Style/Encoding:
|
@@ -19,6 +27,23 @@ Style/MethodCalledOnDoEndBlock:
|
|
19
27
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
|
20
28
|
Enabled: false
|
21
29
|
|
30
|
+
Style/MissingElse:
|
31
|
+
Description: >-
|
32
|
+
Require if/case expressions to have an else branches.
|
33
|
+
If enabled, it is recommended that
|
34
|
+
Style/UnlessElse and Style/EmptyElse be enabled.
|
35
|
+
This will conflict with Style/EmptyElse if
|
36
|
+
Style/EmptyElse is configured to style "both"
|
37
|
+
Enabled: false
|
38
|
+
EnforcedStyle: both
|
39
|
+
SupportedStyles:
|
40
|
+
# if - warn when an if expression is missing an else branch
|
41
|
+
# case - warn when a case expression is misisng an else branch
|
42
|
+
# both - warn when an if or case expression is missing an else branch
|
43
|
+
- if
|
44
|
+
- case
|
45
|
+
- both
|
46
|
+
|
22
47
|
Style/SymbolArray:
|
23
48
|
Description: 'Use %i or %I for arrays of symbols.'
|
24
49
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-i'
|
@@ -28,3 +53,6 @@ Style/ExtraSpacing:
|
|
28
53
|
Description: 'Do not use unnecessary spacing.'
|
29
54
|
Enabled: false
|
30
55
|
|
56
|
+
Lint/LiteralInInterpolation:
|
57
|
+
Description: 'Avoid interpolating literals in strings'
|
58
|
+
AutoCorrect: false
|
data/config/enabled.yml
CHANGED
@@ -78,7 +78,7 @@ Style/BlockEndNewline:
|
|
78
78
|
Description: 'Put end statement of multiline block on its own line.'
|
79
79
|
Enabled: true
|
80
80
|
|
81
|
-
Style/
|
81
|
+
Style/BlockDelimiters:
|
82
82
|
Description: >-
|
83
83
|
Avoid using {...} for multi-line blocks (multiline chaining is
|
84
84
|
always ugly).
|
@@ -120,7 +120,7 @@ Style/ClassCheck:
|
|
120
120
|
|
121
121
|
Style/ClassMethods:
|
122
122
|
Description: 'Use self when defining module/class methods.'
|
123
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#def-self-
|
123
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#def-self-class-methods'
|
124
124
|
Enabled: true
|
125
125
|
|
126
126
|
Style/ClassVars:
|
@@ -128,11 +128,20 @@ Style/ClassVars:
|
|
128
128
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
|
129
129
|
Enabled: true
|
130
130
|
|
131
|
+
Style/ClosingParenthesisIndentation:
|
132
|
+
Description: 'Checks the indentation of hanging closing parentheses.'
|
133
|
+
Enabled: true
|
134
|
+
|
131
135
|
Style/ColonMethodCall:
|
132
136
|
Description: 'Do not use :: for method call.'
|
133
137
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
|
134
138
|
Enabled: true
|
135
139
|
|
140
|
+
Style/CommandLiteral:
|
141
|
+
Description: 'Use `` or %x around command literals.'
|
142
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-x'
|
143
|
+
Enabled: true
|
144
|
+
|
136
145
|
Style/CommentAnnotation:
|
137
146
|
Description: >-
|
138
147
|
Checks formatting of special comments
|
@@ -239,6 +248,10 @@ Style/FileName:
|
|
239
248
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
|
240
249
|
Enabled: true
|
241
250
|
|
251
|
+
Style/FirstParameterIndentation:
|
252
|
+
Description: 'Checks the indentation of the first parameter in a method call.'
|
253
|
+
Enabled: true
|
254
|
+
|
242
255
|
Style/FlipFlop:
|
243
256
|
Description: 'Checks for flip flops'
|
244
257
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
|
@@ -257,6 +270,7 @@ Style/FormatString:
|
|
257
270
|
Style/GlobalVars:
|
258
271
|
Description: 'Do not introduce global variables.'
|
259
272
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
|
273
|
+
Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
|
260
274
|
Enabled: true
|
261
275
|
|
262
276
|
Style/GuardClause:
|
@@ -433,6 +447,16 @@ Style/OpMethod:
|
|
433
447
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
|
434
448
|
Enabled: true
|
435
449
|
|
450
|
+
Style/ParallelAssignment:
|
451
|
+
Description: >-
|
452
|
+
Check for simple usages of parallel assignment.
|
453
|
+
It will only warn when the number of variables
|
454
|
+
matches on both sides of the assignment.
|
455
|
+
This also provides performance benefits
|
456
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parallel-assignment'
|
457
|
+
Reference: 'https://github.com/JuanitoFatas/fast-ruby#parallel-assignment-vs-sequential-assignment-code'
|
458
|
+
Enabled: true
|
459
|
+
|
436
460
|
Style/ParenthesesAroundCondition:
|
437
461
|
Description: >-
|
438
462
|
Don't use parentheses around the condition of an
|
@@ -490,11 +514,7 @@ Style/RedundantSelf:
|
|
490
514
|
Enabled: true
|
491
515
|
|
492
516
|
Style/RegexpLiteral:
|
493
|
-
Description:
|
494
|
-
Use %r for regular expressions matching more than
|
495
|
-
`MaxSlashes` '/' characters.
|
496
|
-
Use %r only for regular expressions matching more than
|
497
|
-
`MaxSlashes` '/' character.
|
517
|
+
Description: 'Use / or %r around regular expressions.'
|
498
518
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
|
499
519
|
Enabled: true
|
500
520
|
|
@@ -594,6 +614,10 @@ Style/SpaceInsideBlockBraces:
|
|
594
614
|
or doesn't have trailing space.
|
595
615
|
Enabled: true
|
596
616
|
|
617
|
+
Style/SpaceAroundBlockParameters:
|
618
|
+
Description: 'Checks the spacing inside and after block parameters pipes.'
|
619
|
+
Enabled: true
|
620
|
+
|
597
621
|
Style/SpaceAroundEqualsInParameterDefault:
|
598
622
|
Description: >-
|
599
623
|
Checks that the equals signs in parameter default assignments
|
@@ -603,7 +627,7 @@ Style/SpaceAroundEqualsInParameterDefault:
|
|
603
627
|
Enabled: true
|
604
628
|
|
605
629
|
Style/SpaceAroundOperators:
|
606
|
-
Description: 'Use
|
630
|
+
Description: 'Use a single space around operators.'
|
607
631
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
|
608
632
|
Enabled: true
|
609
633
|
|
@@ -631,6 +655,11 @@ Style/SpaceInsideRangeLiteral:
|
|
631
655
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals'
|
632
656
|
Enabled: true
|
633
657
|
|
658
|
+
Style/SpaceInsideStringInterpolation:
|
659
|
+
Description: 'Checks for padding/surrounding spaces inside string interpolation.'
|
660
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#string-interpolation'
|
661
|
+
Enabled: true
|
662
|
+
|
634
663
|
Style/SpecialGlobalVars:
|
635
664
|
Description: 'Avoid Perl-style global variables.'
|
636
665
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
|
@@ -647,6 +676,15 @@ Style/StringLiteralsInInterpolation:
|
|
647
676
|
strings match the configured preference.
|
648
677
|
Enabled: true
|
649
678
|
|
679
|
+
Style/StructInheritance:
|
680
|
+
Description: 'Checks for inheritance from Struct.new.'
|
681
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new'
|
682
|
+
Enabled: true
|
683
|
+
|
684
|
+
Style/SymbolLiteral:
|
685
|
+
Description: 'Use plain symbols instead of string symbols when possible.'
|
686
|
+
Enabled: true
|
687
|
+
|
650
688
|
Style/SymbolProc:
|
651
689
|
Description: 'Use symbols as procs instead of blocks when possible.'
|
652
690
|
Enabled: true
|
@@ -692,9 +730,10 @@ Style/UnneededPercentQ:
|
|
692
730
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q'
|
693
731
|
Enabled: true
|
694
732
|
|
695
|
-
Style/
|
696
|
-
Description:
|
697
|
-
|
733
|
+
Style/TrailingUnderscoreVariable:
|
734
|
+
Description: >-
|
735
|
+
Checks for the usage of unneeded trailing underscores at the
|
736
|
+
end of parallel variable assignment.
|
698
737
|
Enabled: true
|
699
738
|
|
700
739
|
Style/VariableInterpolation:
|
@@ -737,6 +776,7 @@ Metrics/AbcSize:
|
|
737
776
|
Description: >-
|
738
777
|
A calculated magnitude based on number of assignments,
|
739
778
|
branches, and conditions.
|
779
|
+
Reference: 'http://c2.com/cgi/wiki?AbcMetric'
|
740
780
|
Enabled: true
|
741
781
|
|
742
782
|
Metrics/BlockNesting:
|
@@ -748,6 +788,10 @@ Metrics/ClassLength:
|
|
748
788
|
Description: 'Avoid classes longer than 100 lines of code.'
|
749
789
|
Enabled: true
|
750
790
|
|
791
|
+
Metrics/ModuleLength:
|
792
|
+
Description: 'Avoid modules longer than 100 lines of code.'
|
793
|
+
Enabled: true
|
794
|
+
|
751
795
|
Metrics/CyclomaticComplexity:
|
752
796
|
Description: >-
|
753
797
|
A complexity metric that is strongly correlated to the number
|
@@ -819,6 +863,14 @@ Lint/DeprecatedClassMethods:
|
|
819
863
|
Description: 'Check for deprecated class method calls.'
|
820
864
|
Enabled: true
|
821
865
|
|
866
|
+
Lint/DuplicateMethods:
|
867
|
+
Description: 'Check for duplicate methods calls.'
|
868
|
+
Enabled: true
|
869
|
+
|
870
|
+
Lint/EachWithObjectArgument:
|
871
|
+
Description: 'Check for immutable argument given to each_with_object.'
|
872
|
+
Enabled: true
|
873
|
+
|
822
874
|
Lint/ElseLayout:
|
823
875
|
Description: 'Check for odd code arrangement in an else block.'
|
824
876
|
Enabled: true
|
@@ -874,6 +926,15 @@ Lint/Loop:
|
|
874
926
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
|
875
927
|
Enabled: true
|
876
928
|
|
929
|
+
Lint/NestedMethodDefinition:
|
930
|
+
Description: 'Do not use nested method definitions.'
|
931
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
|
932
|
+
Enabled: true
|
933
|
+
|
934
|
+
Lint/NonLocalExitFromIterator:
|
935
|
+
Description: 'Do not use return in iterator to cause non-local exit.'
|
936
|
+
Enabled: true
|
937
|
+
|
877
938
|
Lint/ParenthesesAsGroupedExpression:
|
878
939
|
Description: >-
|
879
940
|
Checks for method calls with a space before the opening
|
@@ -913,6 +974,10 @@ Lint/UnderscorePrefixedVariableName:
|
|
913
974
|
Description: 'Do not use prefix `_` for a variable that is used.'
|
914
975
|
Enabled: true
|
915
976
|
|
977
|
+
Lint/UnneededDisable:
|
978
|
+
Description: 'Checks for rubocop:disable comments that can be removed.'
|
979
|
+
Enabled: true
|
980
|
+
|
916
981
|
Lint/UnusedBlockArgument:
|
917
982
|
Description: 'Checks for unused block arguments.'
|
918
983
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
|
@@ -952,12 +1017,66 @@ Lint/Void:
|
|
952
1017
|
Description: 'Possible use of operator/literal/variable in void context.'
|
953
1018
|
Enabled: true
|
954
1019
|
|
1020
|
+
##################### Performance #############################
|
1021
|
+
|
1022
|
+
Performance/Count:
|
1023
|
+
Description: >-
|
1024
|
+
Use `count` instead of `select...size`, `reject...size`,
|
1025
|
+
`select...count`, `reject...count`, `select...length`,
|
1026
|
+
and `reject...length`.
|
1027
|
+
Enabled: true
|
1028
|
+
|
1029
|
+
Performance/Detect:
|
1030
|
+
Description: >-
|
1031
|
+
Use `detect` instead of `select.first`, `find_all.first`,
|
1032
|
+
`select.last`, and `find_all.last`.
|
1033
|
+
Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
|
1034
|
+
Enabled: true
|
1035
|
+
|
1036
|
+
Performance/FlatMap:
|
1037
|
+
Description: >-
|
1038
|
+
Use `Enumerable#flat_map`
|
1039
|
+
instead of `Enumerable#map...Array#flatten(1)`
|
1040
|
+
or `Enumberable#collect..Array#flatten(1)`
|
1041
|
+
Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
|
1042
|
+
Enabled: true
|
1043
|
+
EnabledForFlattenWithoutParams: false
|
1044
|
+
# If enabled, this cop will warn about usages of
|
1045
|
+
# `flatten` being called without any parameters.
|
1046
|
+
# This can be dangerous since `flat_map` will only flatten 1 level, and
|
1047
|
+
# `flatten` without any parameters can flatten multiple levels.
|
1048
|
+
|
1049
|
+
Performance/ReverseEach:
|
1050
|
+
Description: 'Use `reverse_each` instead of `reverse.each`.'
|
1051
|
+
Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
|
1052
|
+
Enabled: true
|
1053
|
+
|
1054
|
+
Performance/Sample:
|
1055
|
+
Description: >-
|
1056
|
+
Use `sample` instead of `shuffle.first`,
|
1057
|
+
`shuffle.last`, and `shuffle[Fixnum]`.
|
1058
|
+
Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
|
1059
|
+
Enabled: true
|
1060
|
+
|
1061
|
+
Performance/Size:
|
1062
|
+
Description: >-
|
1063
|
+
Use `size` instead of `count` for counting
|
1064
|
+
the number of elements in `Array` and `Hash`.
|
1065
|
+
Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
|
1066
|
+
Enabled: true
|
1067
|
+
|
955
1068
|
##################### Rails ##################################
|
956
1069
|
|
957
1070
|
Rails/ActionFilter:
|
958
1071
|
Description: 'Enforces consistent use of action filter methods.'
|
959
1072
|
Enabled: true
|
960
1073
|
|
1074
|
+
Rails/Date:
|
1075
|
+
Description: >-
|
1076
|
+
Checks the correct usage of date aware methods,
|
1077
|
+
such as Date.today, Date.current etc.
|
1078
|
+
Enabled: true
|
1079
|
+
|
961
1080
|
Rails/DefaultScope:
|
962
1081
|
Description: 'Checks if the argument passed to default_scope is a block.'
|
963
1082
|
Enabled: true
|
@@ -966,6 +1085,14 @@ Rails/Delegate:
|
|
966
1085
|
Description: 'Prefer delegate method for delegations.'
|
967
1086
|
Enabled: true
|
968
1087
|
|
1088
|
+
Rails/FindBy:
|
1089
|
+
Description: 'Prefer find_by over where.first.'
|
1090
|
+
Enabled: true
|
1091
|
+
|
1092
|
+
Rails/FindEach:
|
1093
|
+
Description: 'Prefer all.find_each over all.find.'
|
1094
|
+
Enabled: true
|
1095
|
+
|
969
1096
|
Rails/HasAndBelongsToMany:
|
970
1097
|
Description: 'Prefer has_many :through to has_and_belongs_to_many.'
|
971
1098
|
Enabled: true
|
@@ -984,6 +1111,12 @@ Rails/ScopeArgs:
|
|
984
1111
|
Description: 'Checks the arguments of ActiveRecord scopes.'
|
985
1112
|
Enabled: true
|
986
1113
|
|
1114
|
+
Rails/TimeZone:
|
1115
|
+
Description: 'Checks the correct usage of time zone aware methods.'
|
1116
|
+
StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
|
1117
|
+
Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
|
1118
|
+
Enabled: true
|
1119
|
+
|
987
1120
|
Rails/Validation:
|
988
1121
|
Description: 'Use validates :attribute, hash of validations.'
|
989
1122
|
Enabled: true
|
data/config/finstyle.yml
CHANGED
@@ -35,6 +35,10 @@ Metrics/LineLength:
|
|
35
35
|
Metrics/MethodLength:
|
36
36
|
Max: 20
|
37
37
|
|
38
|
+
# ABC complexity is a far better code smell signal than raw class length.
|
39
|
+
Metrics/ModuleLength:
|
40
|
+
Max: 300
|
41
|
+
|
38
42
|
#
|
39
43
|
### Style Cops
|
40
44
|
#
|
@@ -47,12 +51,17 @@ Style/AlignParameters:
|
|
47
51
|
# * http://devblog.avdi.org/2011/07/26/the-procedurefunction-block-convention-in-ruby/
|
48
52
|
# * http://talklikeaduck.denhaven2.com/2007/10/02/ruby-blocks-do-or-brace
|
49
53
|
# * http://onestepback.org/index.cgi/Tech/Ruby/BraceVsDoEnd.rdoc
|
50
|
-
Style/
|
54
|
+
Style/BlockDelimiters:
|
51
55
|
Enabled: false
|
52
56
|
|
53
57
|
BracesAroundHashParameters:
|
54
58
|
EnforcedStyle: context_dependent
|
55
59
|
|
60
|
+
# As of 0.30.1, too many false positives and no ability to configure
|
61
|
+
# this cop
|
62
|
+
Style/ClosingParenthesisIndentation:
|
63
|
+
Enabled: false
|
64
|
+
|
56
65
|
# Words help us convey meaning and Ruby aliased methods help with this.
|
57
66
|
Style/CollectionMethods:
|
58
67
|
PreferredMethods:
|
@@ -94,6 +103,9 @@ Style/HashSyntax:
|
|
94
103
|
Style/EmptyLiteral:
|
95
104
|
Enabled: false
|
96
105
|
|
106
|
+
Style/FirstParameterIndentation:
|
107
|
+
EnforcedStyle: consistent
|
108
|
+
|
97
109
|
# Claimed violations of this by Rubocop are, in general, complete nonsense and
|
98
110
|
# worse can dramtically reduce the safe readability of code (it would lead you
|
99
111
|
# to add a lot more `return if ...` blocks in the *middle* of method bodies)
|
data/config/upstream.yml
CHANGED
@@ -7,13 +7,14 @@ inherit_from:
|
|
7
7
|
|
8
8
|
# Common configuration.
|
9
9
|
AllCops:
|
10
|
-
# Include
|
10
|
+
# Include common Ruby source files.
|
11
11
|
Include:
|
12
12
|
- '**/*.gemspec'
|
13
13
|
- '**/*.podspec'
|
14
14
|
- '**/*.jbuilder'
|
15
15
|
- '**/*.rake'
|
16
16
|
- '**/*.opal'
|
17
|
+
- '**/config.ru'
|
17
18
|
- '**/Gemfile'
|
18
19
|
- '**/Rakefile'
|
19
20
|
- '**/Capfile'
|
@@ -29,6 +30,18 @@ AllCops:
|
|
29
30
|
# By default, the rails cops are not run. Override in project or home
|
30
31
|
# directory .rubocop.yml files, or by giving the -R/--rails option.
|
31
32
|
RunRailsCops: false
|
33
|
+
# Cop names are not displayed in offense messages by default. Change behavior
|
34
|
+
# by overriding DisplayCopNames, or by giving the -D/--display-cop-names
|
35
|
+
# option.
|
36
|
+
DisplayCopNames: false
|
37
|
+
# Style guide URLs are not displayed in offense messages by default. Change
|
38
|
+
# behavior by overriding DisplayStyleGuide, or by giving the
|
39
|
+
# -S/--display-style-guide option.
|
40
|
+
DisplayStyleGuide: false
|
41
|
+
# Additional cops that do not reference a style guide rule may be enabled by
|
42
|
+
# default. Change behavior by overriding StyleGuideCopsOnly, or by giving
|
43
|
+
# the --only-guide-cops option.
|
44
|
+
StyleGuideCopsOnly: false
|
32
45
|
|
33
46
|
# Indent private/protected/public as deep as method definitions
|
34
47
|
Style/AccessModifierIndentation:
|
@@ -136,6 +149,72 @@ Style/BarePercentLiterals:
|
|
136
149
|
- percent_q
|
137
150
|
- bare_percent
|
138
151
|
|
152
|
+
Style/BlockDelimiters:
|
153
|
+
EnforcedStyle: line_count_based
|
154
|
+
SupportedStyles:
|
155
|
+
# The `line_count_based` style enforces braces around single line blocks and
|
156
|
+
# do..end around multi-line blocks.
|
157
|
+
- line_count_based
|
158
|
+
# The `semantic` style enforces braces around functional blocks, where the
|
159
|
+
# primary purpose of the block is to return a value and do..end for
|
160
|
+
# procedural blocks, where the primary purpose of the block is its
|
161
|
+
# side-effects.
|
162
|
+
#
|
163
|
+
# This looks at the usage of a block's method to determine its type (e.g. is
|
164
|
+
# the result of a `map` assigned to a variable or passed to another
|
165
|
+
# method) but exceptions are permitted in the `ProceduralMethods`,
|
166
|
+
# `FunctionalMethods` and `IgnoredMethods` sections below.
|
167
|
+
- semantic
|
168
|
+
ProceduralMethods:
|
169
|
+
# Methods that are known to be procedural in nature but look functional from
|
170
|
+
# their usage, e.g.
|
171
|
+
#
|
172
|
+
# time = Benchmark.realtime do
|
173
|
+
# foo.bar
|
174
|
+
# end
|
175
|
+
#
|
176
|
+
# Here, the return value of the block is discarded but the return value of
|
177
|
+
# `Benchmark.realtime` is used.
|
178
|
+
- benchmark
|
179
|
+
- bm
|
180
|
+
- bmbm
|
181
|
+
- create
|
182
|
+
- each_with_object
|
183
|
+
- measure
|
184
|
+
- new
|
185
|
+
- realtime
|
186
|
+
- tap
|
187
|
+
- with_object
|
188
|
+
FunctionalMethods:
|
189
|
+
# Methods that are known to be functional in nature but look procedural from
|
190
|
+
# their usage, e.g.
|
191
|
+
#
|
192
|
+
# let(:foo) { Foo.new }
|
193
|
+
#
|
194
|
+
# Here, the return value of `Foo.new` is used to define a `foo` helper but
|
195
|
+
# doesn't appear to be used from the return value of `let`.
|
196
|
+
- let
|
197
|
+
- let!
|
198
|
+
- subject
|
199
|
+
- watch
|
200
|
+
IgnoredMethods:
|
201
|
+
# Methods that can be either procedural or functional and cannot be
|
202
|
+
# categorised from their usage alone, e.g.
|
203
|
+
#
|
204
|
+
# foo = lambda do |x|
|
205
|
+
# puts "Hello, #{x}"
|
206
|
+
# end
|
207
|
+
#
|
208
|
+
# foo = lambda do |x|
|
209
|
+
# x * 100
|
210
|
+
# end
|
211
|
+
#
|
212
|
+
# Here, it is impossible to tell from the return value of `lambda` whether
|
213
|
+
# the inner block's return value is significant.
|
214
|
+
- lambda
|
215
|
+
- proc
|
216
|
+
- it
|
217
|
+
|
139
218
|
Style/BracesAroundHashParameters:
|
140
219
|
EnforcedStyle: no_braces
|
141
220
|
SupportedStyles:
|
@@ -200,6 +279,20 @@ Style/CollectionMethods:
|
|
200
279
|
detect: 'find'
|
201
280
|
find_all: 'select'
|
202
281
|
|
282
|
+
# Use ` or %x around command literals.
|
283
|
+
Style/CommandLiteral:
|
284
|
+
EnforcedStyle: backticks
|
285
|
+
# backticks: Always use backticks.
|
286
|
+
# percent_x: Always use %x.
|
287
|
+
# mixed: Use backticks on single-line commands, and %x on multi-line commands.
|
288
|
+
SupportedStyles:
|
289
|
+
- backticks
|
290
|
+
- percent_x
|
291
|
+
- mixed
|
292
|
+
# If false, the cop will always recommend using %x if one or more backticks
|
293
|
+
# are found in the command string.
|
294
|
+
AllowInnerBackticks: false
|
295
|
+
|
203
296
|
# Checks formatting of special comments
|
204
297
|
Style/CommentAnnotation:
|
205
298
|
Keywords:
|
@@ -209,6 +302,28 @@ Style/CommentAnnotation:
|
|
209
302
|
- HACK
|
210
303
|
- REVIEW
|
211
304
|
|
305
|
+
# Checks that you have put a copyright in a comment before any code.
|
306
|
+
#
|
307
|
+
# You can override the default Notice in your .rubocop.yml file.
|
308
|
+
#
|
309
|
+
# In order to use autocorrect, you must supply a value for the
|
310
|
+
# AutocorrectNotice key that matches the regexp Notice. A blank
|
311
|
+
# AutocorrectNotice will cause an error during autocorrect.
|
312
|
+
#
|
313
|
+
# Autocorrect will add a copyright notice in a comment at the top
|
314
|
+
# of the file immediately after any shebang or encoding comments.
|
315
|
+
#
|
316
|
+
# Example rubocop.yml:
|
317
|
+
#
|
318
|
+
# Style/Copyright:
|
319
|
+
# Enabled: true
|
320
|
+
# Notice: 'Copyright (\(c\) )?2015 Yahoo! Inc'
|
321
|
+
# AutocorrectNotice: '# Copyright (c) 2015 Yahoo! Inc.'
|
322
|
+
#
|
323
|
+
Style/Copyright:
|
324
|
+
Notice: '^Copyright (\(c\) )?2[0-9]{3} .+'
|
325
|
+
AutocorrectNotice: ''
|
326
|
+
|
212
327
|
# Multi-line method chaining should be done with leading dots.
|
213
328
|
Style/DotPosition:
|
214
329
|
EnforcedStyle: leading
|
@@ -216,6 +331,17 @@ Style/DotPosition:
|
|
216
331
|
- leading
|
217
332
|
- trailing
|
218
333
|
|
334
|
+
# Warn on empty else statements
|
335
|
+
# empty - warn only on empty else
|
336
|
+
# nil - warn on else with nil in it
|
337
|
+
# both - warn on empty else and else with nil in it
|
338
|
+
Style/EmptyElse:
|
339
|
+
EnforcedStyle: both
|
340
|
+
SupportedStyles:
|
341
|
+
- empty
|
342
|
+
- nil
|
343
|
+
- both
|
344
|
+
|
219
345
|
# Use empty lines between defs.
|
220
346
|
Style/EmptyLineBetweenDefs:
|
221
347
|
# If true, this parameter means that single line method definitions don't
|
@@ -241,17 +367,35 @@ Style/EmptyLinesAroundModuleBody:
|
|
241
367
|
- no_empty_lines
|
242
368
|
|
243
369
|
# Checks whether the source file has a utf-8 encoding comment or not
|
370
|
+
# AutoCorrectEncodingComment must match the regex
|
371
|
+
# /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
|
244
372
|
Style/Encoding:
|
245
373
|
EnforcedStyle: always
|
246
374
|
SupportedStyles:
|
247
375
|
- when_needed
|
248
376
|
- always
|
377
|
+
AutoCorrectEncodingComment: '# encoding: utf-8'
|
249
378
|
|
250
379
|
Style/FileName:
|
251
380
|
# File names listed in AllCops:Include are excluded by default. Add extra
|
252
381
|
# excludes here.
|
253
382
|
Exclude: []
|
254
383
|
|
384
|
+
Style/FirstParameterIndentation:
|
385
|
+
EnforcedStyle: special_for_inner_method_call_in_parentheses
|
386
|
+
SupportedStyles:
|
387
|
+
# The first parameter should always be indented one step more than the
|
388
|
+
# preceding line.
|
389
|
+
- consistent
|
390
|
+
# The first parameter should normally be indented one step more than the
|
391
|
+
# preceding line, but if it's a parameter for a method call that is itself
|
392
|
+
# a parameter in a method call, then the inner parameter should be indented
|
393
|
+
# relative to the inner method.
|
394
|
+
- special_for_inner_method_call
|
395
|
+
# Same as special_for_inner_method_call except that the special rule only
|
396
|
+
# applies if the outer method call encloses its arguments in parentheses.
|
397
|
+
- special_for_inner_method_call_in_parentheses
|
398
|
+
|
255
399
|
# Checks use of for or each in multiline loops.
|
256
400
|
Style/For:
|
257
401
|
EnforcedStyle: each
|
@@ -280,11 +424,26 @@ Style/HashSyntax:
|
|
280
424
|
EnforcedStyle: ruby19
|
281
425
|
SupportedStyles:
|
282
426
|
- ruby19
|
427
|
+
- ruby19_no_mixed_keys
|
283
428
|
- hash_rockets
|
429
|
+
# Force hashes that have a symbol value to use hash rockets
|
430
|
+
UseHashRocketsWithSymbolValues: false
|
284
431
|
|
285
432
|
Style/IfUnlessModifier:
|
286
433
|
MaxLineLength: 80
|
287
434
|
|
435
|
+
Style/IndentationConsistency:
|
436
|
+
# The difference between `rails` and `normal` is that the `rails` style
|
437
|
+
# prescribes that in classes and modules the `protected` and `private`
|
438
|
+
# modifier keywords shall be indented the same as public methods and that
|
439
|
+
# protected and private members shall be indented one step more than the
|
440
|
+
# modifiers. Other than that, both styles mean that entities on the same
|
441
|
+
# logical depth shall have the same indentation.
|
442
|
+
EnforcedStyle: normal
|
443
|
+
SupportedStyles:
|
444
|
+
- normal
|
445
|
+
- rails
|
446
|
+
|
288
447
|
Style/IndentationWidth:
|
289
448
|
# Number of spaces for each indentation level.
|
290
449
|
Width: 2
|
@@ -395,10 +554,19 @@ Style/RedundantReturn:
|
|
395
554
|
# When true allows code like `return x, y`.
|
396
555
|
AllowMultipleReturnValues: false
|
397
556
|
|
557
|
+
# Use / or %r around regular expressions.
|
398
558
|
Style/RegexpLiteral:
|
399
|
-
|
400
|
-
#
|
401
|
-
|
559
|
+
EnforcedStyle: slashes
|
560
|
+
# slashes: Always use slashes.
|
561
|
+
# percent_r: Always use %r.
|
562
|
+
# mixed: Use slashes on single-line regexes, and %r on multi-line regexes.
|
563
|
+
SupportedStyles:
|
564
|
+
- slashes
|
565
|
+
- percent_r
|
566
|
+
- mixed
|
567
|
+
# If false, the cop will always recommend using %r if one or more slashes
|
568
|
+
# are found in the regexp string.
|
569
|
+
AllowInnerSlashes: false
|
402
570
|
|
403
571
|
Style/Semicolon:
|
404
572
|
# Allow ; to separate several expressions on the same line.
|
@@ -435,12 +603,23 @@ Style/StringLiteralsInInterpolation:
|
|
435
603
|
- single_quotes
|
436
604
|
- double_quotes
|
437
605
|
|
606
|
+
Style/SpaceAroundBlockParameters:
|
607
|
+
EnforcedStyleInsidePipes: no_space
|
608
|
+
SupportedStyles:
|
609
|
+
- space
|
610
|
+
- no_space
|
611
|
+
|
438
612
|
Style/SpaceAroundEqualsInParameterDefault:
|
439
613
|
EnforcedStyle: space
|
440
614
|
SupportedStyles:
|
441
615
|
- space
|
442
616
|
- no_space
|
443
617
|
|
618
|
+
Style/SpaceAroundOperators:
|
619
|
+
MultiSpaceAllowedForOperators:
|
620
|
+
- '='
|
621
|
+
- '=>'
|
622
|
+
|
444
623
|
Style/SpaceBeforeBlockBraces:
|
445
624
|
EnforcedStyle: space
|
446
625
|
SupportedStyles:
|
@@ -477,17 +656,28 @@ Style/TrailingBlankLines:
|
|
477
656
|
- final_blank_line
|
478
657
|
|
479
658
|
Style/TrailingComma:
|
480
|
-
# If EnforcedStyleForMultiline is comma, the cop
|
659
|
+
# If EnforcedStyleForMultiline is comma, the cop requires a comma after the
|
481
660
|
# last item of a list, but only for lists where each item is on its own line.
|
661
|
+
# If EnforcedStyleForMultiline is consistent_comma, the cop requires a comma
|
662
|
+
# after the last item of a list, for all lists.
|
482
663
|
EnforcedStyleForMultiline: no_comma
|
483
664
|
SupportedStyles:
|
484
665
|
- comma
|
666
|
+
- consistent_comma
|
485
667
|
- no_comma
|
486
668
|
|
487
|
-
# TrivialAccessors
|
669
|
+
# TrivialAccessors requires exact name matches and doesn't allow
|
488
670
|
# predicated methods by default.
|
489
671
|
Style/TrivialAccessors:
|
490
|
-
|
672
|
+
# When set to false the cop will suggest the use of accessor methods
|
673
|
+
# in situations like:
|
674
|
+
#
|
675
|
+
# def name
|
676
|
+
# @other_name
|
677
|
+
# end
|
678
|
+
#
|
679
|
+
# This way you can uncover "hidden" attributes in your code.
|
680
|
+
ExactNameMatch: true
|
491
681
|
AllowPredicates: false
|
492
682
|
# Allows trivial writers that don't end in an equal sign. e.g.
|
493
683
|
#
|
@@ -498,6 +688,7 @@ Style/TrivialAccessors:
|
|
498
688
|
#
|
499
689
|
# Commonly used in DSLs
|
500
690
|
AllowDSLWriters: false
|
691
|
+
IgnoreClassMethods: false
|
501
692
|
Whitelist:
|
502
693
|
- to_ary
|
503
694
|
- to_a
|
@@ -545,12 +736,18 @@ Metrics/ClassLength:
|
|
545
736
|
CountComments: false # count full line comments?
|
546
737
|
Max: 100
|
547
738
|
|
739
|
+
Metrics/ModuleLength:
|
740
|
+
CountComments: false # count full line comments?
|
741
|
+
Max: 100
|
742
|
+
|
548
743
|
# Avoid complex methods.
|
549
744
|
Metrics/CyclomaticComplexity:
|
550
745
|
Max: 6
|
551
746
|
|
552
747
|
Metrics/LineLength:
|
553
748
|
Max: 80
|
749
|
+
# To make it possible to copy or click on URIs in the code, we allow lines
|
750
|
+
# contaning a URI to be longer than Max.
|
554
751
|
AllowURI: true
|
555
752
|
URISchemes:
|
556
753
|
- http
|
@@ -584,6 +781,7 @@ Lint/EndAlignment:
|
|
584
781
|
SupportedStyles:
|
585
782
|
- keyword
|
586
783
|
- variable
|
784
|
+
AutoCorrect: false
|
587
785
|
|
588
786
|
Lint/DefEndAlignment:
|
589
787
|
# The value `def` means that `end` should be aligned with the def keyword.
|
@@ -594,6 +792,7 @@ Lint/DefEndAlignment:
|
|
594
792
|
SupportedStyles:
|
595
793
|
- start_of_line
|
596
794
|
- def
|
795
|
+
AutoCorrect: false
|
597
796
|
|
598
797
|
##################### Rails ##################################
|
599
798
|
|
@@ -605,10 +804,29 @@ Rails/ActionFilter:
|
|
605
804
|
Include:
|
606
805
|
- app/controllers/**/*.rb
|
607
806
|
|
807
|
+
Rails/Date:
|
808
|
+
# The value `always` disallows usage of `Date.today`, `Date.current`,
|
809
|
+
# `Date#to_time` etc.
|
810
|
+
# The value `acceptable` allows usage of `Date.current`, `Date.yesterday`, etc
|
811
|
+
# (but not `Date.today`) which are overriden by ActiveSupport to handle current
|
812
|
+
# time zone.
|
813
|
+
EnforcedStyle: always
|
814
|
+
SupportedStyles:
|
815
|
+
- always
|
816
|
+
- acceptable
|
817
|
+
|
608
818
|
Rails/DefaultScope:
|
609
819
|
Include:
|
610
820
|
- app/models/**/*.rb
|
611
821
|
|
822
|
+
Rails/FindBy:
|
823
|
+
Include:
|
824
|
+
- app/models/**/*.rb
|
825
|
+
|
826
|
+
Rails/FindEach:
|
827
|
+
Include:
|
828
|
+
- app/models/**/*.rb
|
829
|
+
|
612
830
|
Rails/HasAndBelongsToMany:
|
613
831
|
Include:
|
614
832
|
- app/models/**/*.rb
|
@@ -628,6 +846,14 @@ Rails/ScopeArgs:
|
|
628
846
|
Include:
|
629
847
|
- app/models/**/*.rb
|
630
848
|
|
849
|
+
Rails/TimeZone:
|
850
|
+
# The value `always` means that `Time` should be used with `zone`.
|
851
|
+
# The value `acceptable` allows usage of `in_time_zone` instead of `zone`.
|
852
|
+
EnforcedStyle: always
|
853
|
+
SupportedStyles:
|
854
|
+
- always
|
855
|
+
- acceptable
|
856
|
+
|
631
857
|
Rails/Validation:
|
632
858
|
Include:
|
633
859
|
- app/models/**/*.rb
|
data/finstyle.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
|
22
22
|
spec.required_ruby_version = ">= 1.9.3"
|
23
23
|
|
24
|
-
spec.add_dependency("rubocop",
|
24
|
+
spec.add_dependency("rubocop", Finstyle::RUBOCOP_VERSION)
|
25
25
|
|
26
26
|
spec.add_development_dependency("bundler", "~> 1.6")
|
27
27
|
spec.add_development_dependency("rake", "~> 10.0")
|
data/lib/finstyle.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
|
3
3
|
require "finstyle/version"
|
4
|
+
|
5
|
+
# ensure the desired target version of RuboCop is gem activated
|
6
|
+
gem "rubocop", "= #{Finstyle::RUBOCOP_VERSION}"
|
4
7
|
require "rubocop"
|
5
8
|
|
6
9
|
# Honestly, this is generally **not** a good idea and takes advantage of
|
data/lib/finstyle/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: finstyle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fletcher Nichol
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.32.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.32.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
129
129
|
version: '0'
|
130
130
|
requirements: []
|
131
131
|
rubyforge_project:
|
132
|
-
rubygems_version: 2.
|
132
|
+
rubygems_version: 2.4.5
|
133
133
|
signing_key:
|
134
134
|
specification_version: 4
|
135
135
|
summary: Version pinning RuboCop and configuration for consistentcy in CI
|