unparser 0.2.8 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +17 -0
  3. data/.rubocop.yml +1 -0
  4. data/Changelog.md +4 -0
  5. data/Gemfile +2 -0
  6. data/Gemfile.lock +70 -64
  7. data/Rakefile +1 -0
  8. data/bin/unparser +2 -0
  9. data/config/devtools.yml +1 -1
  10. data/config/flay.yml +1 -1
  11. data/config/reek.yml +136 -136
  12. data/config/rubocop.yml +14 -1
  13. data/lib/unparser.rb +2 -0
  14. data/lib/unparser/ast.rb +8 -6
  15. data/lib/unparser/ast/local_variable_scope.rb +3 -1
  16. data/lib/unparser/buffer.rb +5 -1
  17. data/lib/unparser/cli.rb +8 -1
  18. data/lib/unparser/cli/color.rb +2 -0
  19. data/lib/unparser/cli/differ.rb +2 -0
  20. data/lib/unparser/cli/source.rb +7 -1
  21. data/lib/unparser/comments.rb +5 -0
  22. data/lib/unparser/constants.rb +8 -6
  23. data/lib/unparser/dsl.rb +2 -0
  24. data/lib/unparser/emitter.rb +18 -9
  25. data/lib/unparser/emitter/alias.rb +2 -0
  26. data/lib/unparser/emitter/argument.rb +3 -0
  27. data/lib/unparser/emitter/assignment.rb +5 -2
  28. data/lib/unparser/emitter/begin.rb +3 -1
  29. data/lib/unparser/emitter/binary.rb +2 -0
  30. data/lib/unparser/emitter/block.rb +3 -0
  31. data/lib/unparser/emitter/case.rb +4 -0
  32. data/lib/unparser/emitter/cbase.rb +2 -0
  33. data/lib/unparser/emitter/class.rb +3 -0
  34. data/lib/unparser/emitter/def.rb +3 -0
  35. data/lib/unparser/emitter/defined.rb +2 -0
  36. data/lib/unparser/emitter/empty.rb +2 -0
  37. data/lib/unparser/emitter/ensure.rb +2 -0
  38. data/lib/unparser/emitter/flipflop.rb +2 -0
  39. data/lib/unparser/emitter/flow_modifier.rb +3 -1
  40. data/lib/unparser/emitter/for.rb +2 -0
  41. data/lib/unparser/emitter/hookexe.rb +2 -0
  42. data/lib/unparser/emitter/if.rb +5 -0
  43. data/lib/unparser/emitter/literal.rb +2 -0
  44. data/lib/unparser/emitter/literal/array.rb +5 -4
  45. data/lib/unparser/emitter/literal/dynamic.rb +2 -0
  46. data/lib/unparser/emitter/literal/dynamic_body.rb +2 -0
  47. data/lib/unparser/emitter/literal/execute_string.rb +2 -0
  48. data/lib/unparser/emitter/literal/hash.rb +3 -2
  49. data/lib/unparser/emitter/literal/primitive.rb +3 -1
  50. data/lib/unparser/emitter/literal/range.rb +2 -0
  51. data/lib/unparser/emitter/literal/regexp.rb +2 -0
  52. data/lib/unparser/emitter/literal/singleton.rb +2 -0
  53. data/lib/unparser/emitter/match.rb +2 -0
  54. data/lib/unparser/emitter/meta.rb +2 -0
  55. data/lib/unparser/emitter/module.rb +2 -0
  56. data/lib/unparser/emitter/op_assign.rb +2 -0
  57. data/lib/unparser/emitter/redo.rb +2 -0
  58. data/lib/unparser/emitter/repetition.rb +4 -1
  59. data/lib/unparser/emitter/resbody.rb +4 -24
  60. data/lib/unparser/emitter/rescue.rb +5 -2
  61. data/lib/unparser/emitter/retry.rb +2 -0
  62. data/lib/unparser/emitter/root.rb +2 -0
  63. data/lib/unparser/emitter/send.rb +3 -0
  64. data/lib/unparser/emitter/send/arguments.rb +2 -0
  65. data/lib/unparser/emitter/send/attribute_assignment.rb +2 -0
  66. data/lib/unparser/emitter/send/binary.rb +2 -0
  67. data/lib/unparser/emitter/send/conditional.rb +2 -0
  68. data/lib/unparser/emitter/send/index.rb +2 -0
  69. data/lib/unparser/emitter/send/regular.rb +3 -0
  70. data/lib/unparser/emitter/send/unary.rb +5 -3
  71. data/lib/unparser/emitter/splat.rb +2 -0
  72. data/lib/unparser/emitter/super.rb +2 -0
  73. data/lib/unparser/emitter/undef.rb +2 -0
  74. data/lib/unparser/emitter/variable.rb +3 -0
  75. data/lib/unparser/emitter/yield.rb +3 -0
  76. data/lib/unparser/finalize.rb +2 -0
  77. data/lib/unparser/node_helpers.rb +6 -0
  78. data/lib/unparser/preprocessor.rb +3 -0
  79. data/spec/integrations.yml +3 -1
  80. data/spec/unit/unparser_spec.rb +3 -7
  81. data/unparser.gemspec +3 -3
  82. metadata +6 -6
  83. data/circle.yml +0 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89eae693b0b2b09ebd3fcb9ade1e24b126c68afaa05ac5d2fa635c33c8b25229
4
- data.tar.gz: 1c04a551559a58cebb43475e3a43cb8100ae68d5f6ff0a8fea78e7a7e92d55e2
3
+ metadata.gz: 96674256a364b20d34279b13821b1885615189db24c4ec229405b8305936fa4d
4
+ data.tar.gz: 1c5484ef44c86310837ad8626635228e56bf3227e11e3d4190f0159cb52dfc58
5
5
  SHA512:
6
- metadata.gz: 6236052606af0a610cd6819ad2b19bf47877428057dc53d7c16cc1c7bef91cbb9d169ad62f402c2113bb211275588041443242c179c9fa5233b1938fce4ffd84
7
- data.tar.gz: e7b4b900464471d40e2f0f385d992c20cf3fec04b6ba7f560b3c784c6d677d652ac9364c62fca6a70990f0e88c113f107bac05adec02c073f480cc371b3fff1b
6
+ metadata.gz: f5784148f66b8283b4b56a48f7b93c116b069a947ee3196012444bade8f02a67fb080cd52d6011068c8cdcf7ac82efe07bf1b3c2e7aa7215d66313369aa5e469
7
+ data.tar.gz: ce7223635f503a065e8d4826d6967817d9165adf76c424105bfc690f9c1b5dfee6c87dbb320c4ccb72af9ebcb78eb4b3fa2319977d89f0eb892e940bfd6b5eb6
@@ -0,0 +1,17 @@
1
+ defaults: &defaults
2
+ working_directory: ~/unparser
3
+ steps:
4
+ - checkout
5
+ - run: bundle install
6
+ - run: bundle exec rake ci
7
+ version: 2
8
+ jobs:
9
+ ruby_2_5:
10
+ <<: *defaults
11
+ docker:
12
+ - image: circleci/ruby:2.5.3
13
+ workflows:
14
+ version: 2
15
+ test:
16
+ jobs:
17
+ - ruby_2_5
@@ -6,3 +6,4 @@ AllCops:
6
6
  - 'vendor/**/*'
7
7
  - 'benchmarks/**/*'
8
8
  - 'tmp/**/*'
9
+ TargetRubyVersion: 2.5
@@ -1,3 +1,7 @@
1
+ # v0.3.0 2018-11-16
2
+
3
+ * Drop support for Ruby < 2.5
4
+
1
5
  # v0.2.7 2018-07-18
2
6
 
3
7
  * Add emitters for `__FILE__` and `__LINE__`
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  gemspec
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- unparser (0.2.6)
4
+ unparser (0.2.9)
5
5
  abstract_type (~> 0.0.7)
6
6
  adamantium (~> 0.2.0)
7
7
  concord (~> 0.1.5)
@@ -21,12 +21,12 @@ GEM
21
21
  abstract_type (~> 0.0.7)
22
22
  adamantium (~> 0.2)
23
23
  equalizer (~> 0.0.11)
24
- ast (2.3.0)
24
+ ast (2.4.0)
25
25
  axiom-types (0.1.1)
26
26
  descendants_tracker (~> 0.0.4)
27
27
  ice_nine (~> 0.11.0)
28
28
  thread_safe (~> 0.3, >= 0.3.1)
29
- codeclimate-engine-rb (0.4.0)
29
+ codeclimate-engine-rb (0.4.1)
30
30
  virtus (~> 1.0)
31
31
  coercible (1.0.0)
32
32
  descendants_tracker (~> 0.0.1)
@@ -35,39 +35,42 @@ GEM
35
35
  equalizer (~> 0.0.9)
36
36
  descendants_tracker (0.0.4)
37
37
  thread_safe (~> 0.3, >= 0.3.1)
38
- devtools (0.1.16)
38
+ devtools (0.1.21)
39
+ abstract_type (~> 0.0.7)
39
40
  adamantium (~> 0.2.0)
40
41
  anima (~> 0.3.0)
41
42
  concord (~> 0.1.5)
42
- flay (~> 2.8.1)
43
- flog (~> 4.4.0)
44
- mutant (~> 0.8.11)
45
- mutant-rspec (~> 0.8.11)
43
+ flay (~> 2.10.0)
44
+ flog (~> 4.6.1)
45
+ mutant (~> 0.8.16)
46
+ mutant-rspec (~> 0.8.16)
46
47
  procto (~> 0.0.3)
47
- rake (~> 11.3.0)
48
- reek (~> 4.5.0)
49
- rspec (~> 3.5.0)
50
- rspec-core (~> 3.5.4)
48
+ rake (~> 12.3.0)
49
+ reek (~> 5.0.2)
50
+ rspec (~> 3.8.0)
51
+ rspec-core (~> 3.8.0)
51
52
  rspec-its (~> 1.2.0)
52
- rubocop (~> 0.47.0)
53
- simplecov (~> 0.12.0)
54
- yard (~> 0.9.1)
53
+ rubocop (~> 0.59.0)
54
+ simplecov (~> 0.16.1)
55
+ yard (~> 0.9.16)
55
56
  yardstick (~> 0.9.9)
56
57
  diff-lcs (1.3)
57
- docile (1.1.5)
58
+ docile (1.3.1)
58
59
  equalizer (0.0.11)
59
60
  erubis (2.7.0)
60
- flay (2.8.1)
61
+ flay (2.10.0)
61
62
  erubis (~> 2.7.0)
62
63
  path_expander (~> 1.0)
63
64
  ruby_parser (~> 3.0)
64
65
  sexp_processor (~> 4.0)
65
- flog (4.4.1)
66
+ flog (4.6.2)
66
67
  path_expander (~> 1.0)
67
68
  ruby_parser (~> 3.1, > 3.1.0)
68
- sexp_processor (~> 4.4)
69
+ sexp_processor (~> 4.8)
69
70
  ice_nine (0.11.2)
70
- json (2.0.3)
71
+ jaro_winkler (1.5.1)
72
+ json (2.1.0)
73
+ kwalify (0.7.2)
71
74
  memoizable (0.4.2)
72
75
  thread_safe (~> 0.3, >= 0.3.1)
73
76
  morpher (0.2.6)
@@ -79,77 +82,80 @@ GEM
79
82
  equalizer (~> 0.0.9)
80
83
  ice_nine (~> 0.11.0)
81
84
  procto (~> 0.0.2)
82
- mutant (0.8.12)
85
+ mutant (0.8.19)
83
86
  abstract_type (~> 0.0.7)
84
87
  adamantium (~> 0.2.0)
85
88
  anima (~> 0.3.0)
86
89
  ast (~> 2.2)
87
90
  concord (~> 0.1.5)
88
- diff-lcs (~> 1.2)
91
+ diff-lcs (~> 1.3)
89
92
  equalizer (~> 0.0.9)
90
93
  ice_nine (~> 0.11.1)
91
94
  memoizable (~> 0.4.2)
92
95
  morpher (~> 0.2.6)
93
96
  parallel (~> 1.3)
94
- parser (~> 2.3.1, >= 2.3.1.4)
97
+ parser (~> 2.5.1)
95
98
  procto (~> 0.0.2)
96
- regexp_parser (~> 0.3.6)
99
+ regexp_parser (~> 1.2)
97
100
  unparser (~> 0.2.5)
98
- mutant-rspec (0.8.11)
99
- mutant (~> 0.8.11)
100
- rspec-core (>= 3.4.0, < 3.6.0)
101
- parallel (1.10.0)
102
- parser (2.3.3.1)
103
- ast (~> 2.2)
104
- path_expander (1.0.1)
105
- powerpack (0.1.1)
101
+ mutant-rspec (0.8.19)
102
+ mutant (~> 0.8.19)
103
+ rspec-core (>= 3.4.0, < 4.0.0)
104
+ parallel (1.12.1)
105
+ parser (2.5.3.0)
106
+ ast (~> 2.4.0)
107
+ path_expander (1.0.3)
108
+ powerpack (0.1.2)
106
109
  procto (0.0.3)
107
- rainbow (2.2.1)
108
- rake (11.3.0)
109
- reek (4.5.4)
110
+ rainbow (3.0.0)
111
+ rake (12.3.1)
112
+ reek (5.0.2)
110
113
  codeclimate-engine-rb (~> 0.4.0)
111
- parser (~> 2.3.1, >= 2.3.1.2)
112
- rainbow (~> 2.0)
113
- regexp_parser (0.3.6)
114
- rspec (3.5.0)
115
- rspec-core (~> 3.5.0)
116
- rspec-expectations (~> 3.5.0)
117
- rspec-mocks (~> 3.5.0)
118
- rspec-core (3.5.4)
119
- rspec-support (~> 3.5.0)
120
- rspec-expectations (3.5.0)
114
+ kwalify (~> 0.7.0)
115
+ parser (>= 2.5.0.0, < 2.6, != 2.5.1.1)
116
+ rainbow (>= 2.0, < 4.0)
117
+ regexp_parser (1.3.0)
118
+ rspec (3.8.0)
119
+ rspec-core (~> 3.8.0)
120
+ rspec-expectations (~> 3.8.0)
121
+ rspec-mocks (~> 3.8.0)
122
+ rspec-core (3.8.0)
123
+ rspec-support (~> 3.8.0)
124
+ rspec-expectations (3.8.2)
121
125
  diff-lcs (>= 1.2.0, < 2.0)
122
- rspec-support (~> 3.5.0)
126
+ rspec-support (~> 3.8.0)
123
127
  rspec-its (1.2.0)
124
128
  rspec-core (>= 3.0.0)
125
129
  rspec-expectations (>= 3.0.0)
126
- rspec-mocks (3.5.0)
130
+ rspec-mocks (3.8.0)
127
131
  diff-lcs (>= 1.2.0, < 2.0)
128
- rspec-support (~> 3.5.0)
129
- rspec-support (3.5.0)
130
- rubocop (0.47.1)
131
- parser (>= 2.3.3.1, < 3.0)
132
+ rspec-support (~> 3.8.0)
133
+ rspec-support (3.8.0)
134
+ rubocop (0.59.2)
135
+ jaro_winkler (~> 1.5.1)
136
+ parallel (~> 1.10)
137
+ parser (>= 2.5, != 2.5.1.1)
132
138
  powerpack (~> 0.1)
133
- rainbow (>= 1.99.1, < 3.0)
139
+ rainbow (>= 2.2.2, < 4.0)
134
140
  ruby-progressbar (~> 1.7)
135
141
  unicode-display_width (~> 1.0, >= 1.0.1)
136
- ruby-progressbar (1.8.1)
137
- ruby_parser (3.8.4)
138
- sexp_processor (~> 4.1)
139
- sexp_processor (4.7.0)
140
- simplecov (0.12.0)
141
- docile (~> 1.1.0)
142
+ ruby-progressbar (1.10.0)
143
+ ruby_parser (3.11.0)
144
+ sexp_processor (~> 4.9)
145
+ sexp_processor (4.11.0)
146
+ simplecov (0.16.1)
147
+ docile (~> 1.1)
142
148
  json (>= 1.8, < 3)
143
149
  simplecov-html (~> 0.10.0)
144
- simplecov-html (0.10.0)
145
- thread_safe (0.3.5)
146
- unicode-display_width (1.1.3)
150
+ simplecov-html (0.10.2)
151
+ thread_safe (0.3.6)
152
+ unicode-display_width (1.4.0)
147
153
  virtus (1.0.5)
148
154
  axiom-types (~> 0.1)
149
155
  coercible (~> 1.0)
150
156
  descendants_tracker (~> 0.0, >= 0.0.3)
151
157
  equalizer (~> 0.0, >= 0.0.9)
152
- yard (0.9.8)
158
+ yard (0.9.16)
153
159
  yardstick (0.9.9)
154
160
  yard (~> 0.8, >= 0.8.7.2)
155
161
 
@@ -158,9 +164,9 @@ PLATFORMS
158
164
 
159
165
  DEPENDENCIES
160
166
  anima (~> 0.3.0)
161
- devtools (~> 0.1.3)
167
+ devtools (~> 0.1.21)
162
168
  morpher (~> 0.2.6)
163
169
  unparser!
164
170
 
165
171
  BUNDLED WITH
166
- 1.13.7
172
+ 1.17.1
data/Rakefile CHANGED
@@ -8,6 +8,7 @@ namespace :metrics do
8
8
  task mutant: :coverage do
9
9
  args = %w[
10
10
  bundle exec mutant
11
+ --ignore-subject Unparser::Buffer#initialize
11
12
  --include lib
12
13
  --require unparser
13
14
  --use rspec
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
2
4
  trap('INT') do |status|
3
5
  exit! 128 + status
4
6
  end
@@ -1,2 +1,2 @@
1
1
  ---
2
- unit_test_timeout: 0.1
2
+ unit_test_timeout: 1.0
@@ -1,3 +1,3 @@
1
1
  ---
2
2
  threshold: 13
3
- total_score: 659
3
+ total_score: 632
@@ -1,137 +1,137 @@
1
1
  ---
2
- UnusedParameters:
3
- exclude: []
4
- UncommunicativeParameterName:
5
- accept: []
6
- exclude: []
7
- enabled: true
8
- reject:
9
- - !ruby/regexp /^.$/
10
- - !ruby/regexp /[0-9]$/
11
- - !ruby/regexp /[A-Z]/
12
- TooManyInstanceVariables:
13
- exclude:
14
- - Unparser::CLI
15
- enabled: true
16
- max_instance_variables: 3
17
- TooManyMethods:
18
- exclude:
19
- - Unparser::Emitter # TODO: 13 methods, mostly helpers for deduplicate sublcasses
20
- - Unparser::Buffer # 11 methods
21
- - Unparser::CLI::Source # 11 methods
22
- enabled: true
23
- max_methods: 10
24
- UncommunicativeMethodName:
25
- accept:
26
- - s
27
- - n
28
- exclude: []
29
- enabled: true
30
- reject:
31
- - !ruby/regexp /^[a-z]$/
32
- - !ruby/regexp /[0-9]$/
33
- - !ruby/regexp /[A-Z]/
34
- LongParameterList:
35
- max_params: 3
36
- exclude:
37
- - Unparser#self.transquote
38
- enabled: true
39
- overrides: {}
40
- FeatureEnvy:
41
- exclude:
42
- # False positives
43
- - Unparser::CLI::Differ#collapsed_hunks
44
- - Unparser::Emitter::Send::Arguments#effective_arguments
45
- # Helper methods, false positive
46
- - Unparser::CLI::Source#strip
47
- - Unparser::CLI::Source#report_unparser
48
- - Unparser::CLI#sources
49
- enabled: true
50
- ClassVariable:
51
- exclude: []
52
- enabled: true
53
- BooleanParameter:
54
- exclude: []
55
- enabled: true
56
- IrresponsibleModule:
57
- exclude: []
58
- enabled: false # buggy / broken
59
- UncommunicativeModuleName:
60
- accept: []
61
- exclude: []
62
- enabled: true
63
- reject:
64
- - !ruby/regexp /^.$/
65
- - !ruby/regexp /[0-9]$/
66
- NestedIterators:
67
- ignore_iterators: []
68
- exclude:
69
- # Acceptable cases:
70
- - Unparser::Emitter::Literal::Regexp#dispatch
71
- - Unparser::CLI::Preprocessor::Dstr#collapsed_children
72
- - Unparser::Preprocessor::CollapseStrChildren#collapsed_children
73
- enabled: true
74
- max_allowed_nesting: 1
75
- TooManyStatements:
76
- max_statements: 6
77
- enabled: true
78
- exclude:
79
- - Unparser::CLI#add_options
80
- - Unparser::CLI#initialize
81
- - Unparser::CLI::Source#report_unparser
82
- - Unparser::Emitter#delimited
83
- DuplicateMethodCall:
84
- allow_calls: []
85
- exclude: []
86
- enabled: false
87
- max_calls: 1
88
- UtilityFunction:
89
- max_helper_calls: 1
90
- exclude:
91
- # Intent to be helper methods
92
- - Unparser::CLI::Source#strip
93
- - Unparser::CLI::Source#parse
94
- - Unparser::NodeHelpers#n
95
- - Unparser::NodeHelpers#s
96
- - Unparser::CLI#sources
97
- enabled: true
98
- Attribute:
99
- exclude: []
100
- enabled: false
101
- UncommunicativeVariableName:
102
- accept: []
103
- exclude: []
104
- enabled: true
105
- reject:
106
- - !ruby/regexp /^.$/
107
- - !ruby/regexp /[0-9]$/
108
- - !ruby/regexp /[A-Z]/
109
- RepeatedConditional:
110
- exclude:
111
- # TODO:
112
- - Unparser::Comments
113
- # False positives
114
- - Unparser::Emitter::If
115
- - Unparser::CLI
116
- enabled: true
117
- max_ifs: 1
118
- DataClump:
119
- exclude: []
120
- enabled: true
121
- max_copies: 1
122
- min_clump_size: 3
123
- ControlParameter:
124
- exclude:
125
- # False positive:
126
- - Unparser::Emitter#emit_body
127
- - Unparser::Emitter#conditional_parentheses
128
- - Unparser::AST::LocalVariableScope#match
129
- enabled: true
130
- NilCheck:
131
- enabled: false
132
- LongYieldList:
133
- max_params: 1
134
- exclude:
135
- - Unparser::AST::LocalVariableScopeEnumerator#visit
136
- - Unparser::AST::LocalVariableScope#match
137
- enabled: true
2
+ detectors:
3
+ Attribute:
4
+ enabled: false
5
+ exclude: []
6
+ BooleanParameter:
7
+ enabled: true
8
+ exclude: []
9
+ ClassVariable:
10
+ enabled: true
11
+ exclude: []
12
+ ControlParameter:
13
+ enabled: true
14
+ exclude:
15
+ - Mutant::Expression#match_length
16
+ DataClump:
17
+ enabled: true
18
+ exclude: []
19
+ max_copies: 2
20
+ min_clump_size: 2
21
+ DuplicateMethodCall:
22
+ enabled: false
23
+ exclude: []
24
+ max_calls: 1
25
+ allow_calls: []
26
+ FeatureEnvy:
27
+ enabled: false
28
+ # Buggy smell detector
29
+ IrresponsibleModule:
30
+ enabled: false
31
+ exclude: []
32
+ LongParameterList:
33
+ enabled: true
34
+ exclude:
35
+ - Mutant::Matcher::Method::Instance#self.build
36
+ - Mutant::Meta::Example::DSL # 3 vars
37
+ max_params: 2
38
+ LongYieldList:
39
+ enabled: true
40
+ exclude: []
41
+ max_params: 2
42
+ NestedIterators:
43
+ enabled: true
44
+ exclude:
45
+ - Mutant#self.singleton_subclass_instance
46
+ - Mutant::CLI#parse
47
+ - Mutant::Mutator::Node::Arguments#emit_argument_mutations
48
+ - Mutant::Mutator::Node::Resbody#mutate_captures
49
+ - Mutant::Mutator::Util::Array::Element#dispatch
50
+ - Mutant::Parallel::Master#run
51
+ - Mutant::RequireHighjack#self.call
52
+ - Mutant::Selector::Expression#call
53
+ - Parser::Lexer#self.new
54
+ max_allowed_nesting: 1
55
+ ignore_iterators: []
56
+ NilCheck:
57
+ enabled: false
58
+ RepeatedConditional:
59
+ enabled: true
60
+ exclude:
61
+ - Mutant::Mutator
62
+ - Mutant::Meta::Example::DSL
63
+ max_ifs: 1
64
+ TooManyInstanceVariables:
65
+ enabled: true
66
+ exclude:
67
+ - Mutant::Mutator # 4 vars
68
+ - Mutant::Parallel::Master # 4 vars
69
+ - Mutant::Meta::Example::DSL # 4 vars
70
+ max_instance_variables: 3
71
+ TooManyMethods:
72
+ enabled: true
73
+ exclude:
74
+ - Mutant::CLI
75
+ - Mutant::Mutator::Node
76
+ - Mutant::Parallel::Master
77
+ max_methods: 10
78
+ TooManyStatements:
79
+ enabled: true
80
+ exclude:
81
+ - Mutant::CLI#add_debug_options
82
+ - Mutant::CLI#add_environment_options
83
+ - Mutant::Reporter::CLI::Printer::Config#run
84
+ - Mutant::Reporter::CLI::Printer::EnvProgress#run
85
+ - Mutant::Runner#run_driver
86
+ - Mutant::Zombifier::File#self.find
87
+ max_statements: 7
88
+ UncommunicativeMethodName:
89
+ enabled: true
90
+ exclude:
91
+ - Mutant::AST::Sexp#s
92
+ - Mutant::Mutation#sha1
93
+ reject:
94
+ - '/^[a-z]$/'
95
+ - '/[0-9]$/'
96
+ - '/[A-Z]/'
97
+ accept: []
98
+ UncommunicativeModuleName:
99
+ enabled: true
100
+ exclude: []
101
+ reject:
102
+ - '/^.$/'
103
+ - '/[0-9]$/'
104
+ accept: []
105
+ UncommunicativeParameterName:
106
+ enabled: true
107
+ exclude: []
108
+ reject:
109
+ - '/^.$/'
110
+ - '/[0-9]$/'
111
+ - '/[A-Z]/'
112
+ accept: []
113
+ UncommunicativeVariableName:
114
+ enabled: true
115
+ exclude: []
116
+ reject:
117
+ - '/^.$/'
118
+ - '/[0-9]$/'
119
+ - '/[A-Z]/'
120
+ accept: ['force_utf32']
121
+ UnusedParameters:
122
+ enabled: true
123
+ exclude: []
124
+ UtilityFunction:
125
+ enabled: true
126
+ exclude:
127
+ - Mutant::AST::Sexp#s
128
+ - Mutant::Actor::Env#new_mailbox
129
+ - Mutant::CLI#reporter
130
+ - Mutant::Integration::Null#call
131
+ - Mutant::Integration::Rspec#parse_example
132
+ - Mutant::Integration::Rspec#parse_expression # intentional, private
133
+ - Mutant::Meta::Example::Verification#format_mutations # intentional, private
134
+ - Mutant::Reporter::CLI::Format::Progressive#new_buffer
135
+ - Mutant::Reporter::CLI::Printer::StatusProgressive#object # False positive calls super
136
+ - Mutant::Repository::Diff#tracks? # intentional, private
137
+ - Mutant::Repository::Diff#within_working_directory? # intentional, private