unparser 0.2.8 → 0.3.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.
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