instana 1.193.2 → 1.193.3.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +194 -133
  3. data/.gitignore +2 -0
  4. data/.rubocop.yml +5 -1147
  5. data/.rubocop_todo.yml +1140 -0
  6. data/Appraisals +96 -0
  7. data/Gemfile +11 -32
  8. data/Rakefile +16 -39
  9. data/bin/console +5 -4
  10. data/gemfiles/.bundle/config +1 -2
  11. data/gemfiles/cuba_30.gemfile +14 -0
  12. data/gemfiles/dalli_20.gemfile +14 -0
  13. data/gemfiles/excon_02.gemfile +14 -0
  14. data/gemfiles/graphql_10.gemfile +14 -0
  15. data/gemfiles/grpc_10.gemfile +14 -0
  16. data/gemfiles/net_http_01.gemfile +13 -0
  17. data/gemfiles/rack_16.gemfile +14 -0
  18. data/gemfiles/rack_20.gemfile +14 -0
  19. data/gemfiles/rails_42.gemfile +16 -0
  20. data/gemfiles/rails_50.gemfile +16 -0
  21. data/gemfiles/rails_52.gemfile +16 -0
  22. data/gemfiles/rails_60.gemfile +16 -0
  23. data/gemfiles/redis_40.gemfile +14 -0
  24. data/gemfiles/resque_122.gemfile +15 -0
  25. data/gemfiles/resque_20.gemfile +14 -0
  26. data/gemfiles/rest_client_16.gemfile +14 -0
  27. data/gemfiles/rest_client_20.gemfile +14 -0
  28. data/gemfiles/roda_20.gemfile +14 -0
  29. data/gemfiles/roda_30.gemfile +14 -0
  30. data/gemfiles/sidekiq_42.gemfile +14 -0
  31. data/gemfiles/sidekiq_50.gemfile +14 -0
  32. data/gemfiles/sinatra_14.gemfile +14 -0
  33. data/instana.gemspec +1 -7
  34. data/lib/instana/activator.rb +41 -0
  35. data/lib/instana/activators/cuba.rb +18 -0
  36. data/lib/instana/activators/dalli.rb +20 -0
  37. data/lib/instana/activators/excon.rb +17 -0
  38. data/lib/instana/activators/graphql.rb +19 -0
  39. data/lib/instana/activators/grpc_client.rb +17 -0
  40. data/lib/instana/activators/grpc_server.rb +17 -0
  41. data/lib/instana/activators/net_http.rb +17 -0
  42. data/lib/instana/activators/rack.rb +13 -0
  43. data/lib/instana/activators/rails.rb +15 -0
  44. data/lib/instana/activators/redis.rb +17 -0
  45. data/lib/instana/activators/resque_client.rb +18 -0
  46. data/lib/instana/activators/resque_worker.rb +30 -0
  47. data/lib/instana/activators/rest_client.rb +17 -0
  48. data/lib/instana/activators/roda.rb +18 -0
  49. data/lib/instana/activators/sidekiq_client.rb +21 -0
  50. data/lib/instana/activators/sidekiq_worker.rb +21 -0
  51. data/lib/instana/activators/sinatra.rb +18 -0
  52. data/lib/instana/frameworks/cuba.rb +6 -13
  53. data/lib/instana/frameworks/rails.rb +0 -1
  54. data/lib/instana/frameworks/roda.rb +7 -13
  55. data/lib/instana/frameworks/sinatra.rb +1 -8
  56. data/lib/instana/instrumentation/dalli.rb +0 -6
  57. data/lib/instana/instrumentation/excon.rb +51 -57
  58. data/lib/instana/instrumentation/graphql.rb +16 -18
  59. data/lib/instana/instrumentation/grpc.rb +4 -10
  60. data/lib/instana/instrumentation/instrumented_request.rb +2 -1
  61. data/lib/instana/instrumentation/net-http.rb +2 -5
  62. data/lib/instana/instrumentation/rack.rb +1 -0
  63. data/lib/instana/instrumentation/redis.rb +0 -5
  64. data/lib/instana/instrumentation/resque.rb +0 -25
  65. data/lib/instana/instrumentation/rest-client.rb +0 -5
  66. data/lib/instana/instrumentation/sidekiq-client.rb +0 -9
  67. data/lib/instana/instrumentation/sidekiq-worker.rb +0 -9
  68. data/lib/instana/setup.rb +3 -1
  69. data/lib/instana/version.rb +1 -1
  70. data/test/activator_test.rb +27 -0
  71. data/test/frameworks/cuba_test.rb +38 -40
  72. data/test/frameworks/rails/activerecord_test.rb +13 -13
  73. data/test/frameworks/rails_test.rb +15 -0
  74. data/test/frameworks/roda_test.rb +39 -41
  75. data/test/frameworks/sinatra_test.rb +61 -64
  76. data/test/instrumentation/excon_test.rb +1 -0
  77. data/test/instrumentation/grpc_test.rb +2 -1
  78. data/test/instrumentation/{net-http_test.rb → net_http_test.rb} +1 -0
  79. data/test/instrumentation/{instrumented_request_test.rb → rack_instrumented_request_test.rb} +1 -1
  80. data/test/{frameworks → instrumentation}/rack_test.rb +0 -1
  81. data/test/instrumentation/resque_test.rb +3 -11
  82. data/test/instrumentation/{rest-client_test.rb → rest_client_test.rb} +6 -0
  83. data/test/instrumentation/sidekiq-client_test.rb +1 -0
  84. data/test/instrumentation/sidekiq-worker_test.rb +1 -0
  85. data/test/{servers/grpc_50051.rb → support/apps/grpc/boot.rb} +1 -1
  86. data/test/{apps → support/apps/grpc}/grpc_server.rb +0 -0
  87. data/test/{servers/rackapp_6511.rb → support/apps/http_endpoint/boot.rb} +0 -0
  88. data/test/{servers/rails_3205.rb → support/apps/rails/boot.rb} +8 -14
  89. data/test/{models → support/apps/rails/models}/block.rb +1 -1
  90. data/test/{models → support/apps/rails/models}/block6.rb +0 -0
  91. data/test/support/apps/resque/boot.rb +2 -0
  92. data/test/{jobs → support/apps/resque/jobs}/resque_error_job.rb +0 -0
  93. data/test/{jobs → support/apps/resque/jobs}/resque_fast_job.rb +0 -0
  94. data/test/support/apps/sidekiq/boot.rb +21 -0
  95. data/test/{jobs → support/apps/sidekiq/jobs}/sidekiq_job_1.rb +0 -0
  96. data/test/{jobs → support/apps/sidekiq/jobs}/sidekiq_job_2.rb +0 -0
  97. data/test/{servers → support/apps}/sidekiq/worker.rb +2 -2
  98. data/test/support/helpers.rb +94 -0
  99. data/test/test_helper.rb +24 -138
  100. metadata +89 -81
  101. data/gemfiles/libraries.gemfile +0 -73
  102. data/gemfiles/rails32.gemfile +0 -51
  103. data/gemfiles/rails42.gemfile +0 -50
  104. data/gemfiles/rails50.gemfile +0 -52
  105. data/gemfiles/rails52.gemfile +0 -52
  106. data/gemfiles/rails60.gemfile +0 -72
  107. data/lib/instana/instrumentation.rb +0 -25
  108. data/lib/instana/test.rb +0 -43
  109. data/test/apps/cuba.rb +0 -19
  110. data/test/apps/roda.rb +0 -13
  111. data/test/apps/sinatra.rb +0 -9
  112. data/test/servers/helpers/sidekiq_worker_initializer.rb +0 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 26ea11d0efe2f26610441700b71bc9c2abd4192566a86d00089d1e889d8457d3
4
- data.tar.gz: 5dde944418b1f34391c08114692b4f34d27acc8328e0d7bd47c7b14834e21d61
3
+ metadata.gz: 39072f3d9f182d124d30b3c7deddc9da5ea93cb9a2a6811a12b0484992578aa5
4
+ data.tar.gz: 7db4cc14f93daf0fbd77a7bc64fa57822d3779a0ef5b54fbebef9e060d89f145
5
5
  SHA512:
6
- metadata.gz: 11c700d01ab267b978d527dd9fcc993b5ae19bb659074690ced25b12f34d1b58c850c241776b3c8932a274138170d885e7f9a0c28b430bc382a81c0df3b99451
7
- data.tar.gz: 8e4dd40a1d9f87e00905eca337189870f3e8237ce33b3be80853d85e7b11667243fe1e5ca7c6e126b492e0c2ba5d404257bfa908e50984f40d184a65f1067239
6
+ metadata.gz: 3e5ca9bdb5bcb49fcd5084d37e0caa4fb9104a27fbc158850ac75a82cef098a1eed2af405d280ee7fda4e5b3f3e16e99442ce1576d60245bff500eea5a6658ca
7
+ data.tar.gz: f271ea900f630a6bf26e4b578219df6f0f76225a2f94ee86da4a003fc4c52d1533019cbe830e4d47902f63ca6a5d8c432d5910c696fcdebc25196383f3768ffd
data/.circleci/config.yml CHANGED
@@ -1,168 +1,229 @@
1
1
  version: 2.1
2
2
 
3
- # More about orbs: https://circleci.com/docs/2.0/using-orbs/
4
- orbs:
5
- ruby: circleci/ruby@1.1.2
6
-
7
- commands:
8
- prelim-deps:
9
- steps:
10
- - run:
11
- name: Preliminary Dependencies
12
- command: |
13
- gem update --system
14
- gem --version
15
- gem install bundler
16
- bundler --version
17
- bundle config set path './vendor/bundle'
18
-
19
- run-tests:
20
- steps:
21
- - run:
22
- name: Run the Tests
23
- command: |
24
- bundle exec rake test
25
-
26
- save-stan-cache:
27
- parameters:
28
- gemfile:
29
- default: "Gemfile"
30
- type: string
31
- steps:
32
- - save_cache:
33
- key: gem-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "<<parameters.gemfile>>" }}
34
- paths:
35
- - vendor/bundle
36
-
37
- restore-stan-cache:
38
- parameters:
39
- gemfile:
40
- default: "Gemfile"
41
- type: string
42
- steps:
43
- - restore_cache:
44
- keys:
45
- - gem-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "<<parameters.gemfile>>" }}
46
- - gem-cache-v1-{{ arch }}-{{ .Branch }}
47
- - gem-cache-v1
48
-
49
- bundle-install:
50
- parameters:
51
- gemfile:
52
- default: "Gemfile"
53
- type: string
54
- steps:
55
- - restore-stan-cache:
56
- gemfile: <<parameters.gemfile>>
57
- - run:
58
- name: Bundle Installation
59
- command: |
60
- bundle install
61
- - save-stan-cache:
62
- gemfile: <<parameters.gemfile>>
63
-
64
- jobs:
65
- ruby26:
66
- parallelism: 3
3
+ executors:
4
+ ruby_25:
67
5
  docker:
68
- - image: circleci/ruby:2.6.3-stretch-node
69
- executor: ruby/default
70
- environment:
71
- BUNDLE_JOBS: "3"
72
- BUNDLE_RETRY: "3"
73
-
74
- steps:
75
- - checkout
76
- - prelim-deps
77
- - bundle-install
78
- - run-tests
79
-
80
- rails50:
81
- parallelism: 3
6
+ - image: circleci/ruby:2.5-node
7
+ environment:
8
+ MEMCACHED_HOST: '127.0.0.1:11211'
9
+ REDIS_URL: 'redis://127.0.0.1:6379'
10
+ - image: memcached
11
+ - image: redis
12
+ ruby_26:
82
13
  docker:
83
- - image: circleci/ruby:2.6.3-stretch-node
14
+ - image: circleci/ruby:2.6-node
15
+ environment:
16
+ MEMCACHED_HOST: '127.0.0.1:11211'
17
+ REDIS_URL: 'redis://127.0.0.1:6379'
18
+ - image: memcached
19
+ - image: redis
20
+ ruby_27:
21
+ docker:
22
+ - image: circleci/ruby:2.7-node
23
+ environment:
24
+ MEMCACHED_HOST: '127.0.0.1:11211'
25
+ REDIS_URL: 'redis://127.0.0.1:6379'
26
+ - image: memcached
27
+ - image: redis
28
+ ruby_25_mysql2:
29
+ docker:
30
+ - image: circleci/ruby:2.5-node
31
+ environment:
32
+ DATABASE_URL: "mysql2://root@127.0.0.1:3306/ci_test"
84
33
  - image: mariadb
85
34
  environment:
86
- MYSQL_DATABASE: 'travis_ci_test'
35
+ MYSQL_DATABASE: 'ci_test'
87
36
  MYSQL_USER: 'root'
88
37
  MYSQL_PASSWORD: ''
89
38
  MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
90
39
  MYSQL_ROOT_PASSWORD: ''
91
40
  MYSQL_ROOT_HOST: '%'
92
- executor: ruby/default
93
- environment:
94
- BUNDLE_JOBS: "3"
95
- BUNDLE_RETRY: "3"
96
- BUNDLE_GEMFILE: "./gemfiles/rails50.gemfile"
97
-
98
- steps:
99
- - checkout
100
- - prelim-deps
101
- - bundle-install:
102
- gemfile: "./gemfiles/rails50.gemfile"
103
- - run-tests
104
-
105
- rails60:
106
- parallelism: 3
41
+ ruby_26_mysql2:
107
42
  docker:
108
- - image: circleci/ruby:2.6.3-stretch-node
43
+ - image: circleci/ruby:2.6-node
44
+ environment:
45
+ DATABASE_URL: "mysql2://root@127.0.0.1:3306/ci_test"
109
46
  - image: mariadb
110
47
  environment:
111
- MYSQL_DATABASE: 'travis_ci_test'
48
+ MYSQL_DATABASE: 'ci_test'
112
49
  MYSQL_USER: 'root'
113
50
  MYSQL_PASSWORD: ''
114
51
  MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
115
52
  MYSQL_ROOT_PASSWORD: ''
116
53
  MYSQL_ROOT_HOST: '%'
117
- executor: ruby/default
118
- environment:
119
- BUNDLE_JOBS: "3"
120
- BUNDLE_RETRY: "3"
121
- BUNDLE_GEMFILE: "./gemfiles/rails60.gemfile"
122
-
123
- steps:
124
- - checkout
125
- - prelim-deps
126
- - bundle-install:
127
- gemfile: "./gemfiles/rails60.gemfile"
128
- - run-tests
129
-
130
- libraries:
131
- parallelism: 3
54
+ ruby_27_mysql2:
132
55
  docker:
133
- - image: circleci/ruby:2.6.3-stretch-node
56
+ - image: circleci/ruby:2.7-node
57
+ environment:
58
+ DATABASE_URL: "mysql2://root@127.0.0.1:3306/ci_test"
134
59
  - image: mariadb
135
60
  environment:
136
- MYSQL_DATABASE: 'travis_ci_test'
61
+ MYSQL_DATABASE: 'ci_test'
137
62
  MYSQL_USER: 'root'
138
63
  MYSQL_PASSWORD: ''
139
64
  MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
140
65
  MYSQL_ROOT_PASSWORD: ''
141
66
  MYSQL_ROOT_HOST: '%'
142
- - image: memcached
67
+ ruby_25_postgres:
68
+ docker:
69
+ - image: circleci/ruby:2.6-node
70
+ environment:
71
+ DATABASE_URL: "postgres://postgres:test@127.0.0.1:5432/ci_test"
143
72
  - image: postgres
144
73
  environment:
145
- POSTGRES_USER: 'stan'
146
- POSTGRES_PASSWORD: 'stanlikesdata'
147
- - image: redis
148
- executor: ruby/default
149
- environment:
150
- BUNDLE_JOBS: "3"
151
- BUNDLE_RETRY: "3"
152
- BUNDLE_GEMFILE: "./gemfiles/libraries.gemfile"
74
+ POSTGRES_PASSWORD: 'test'
75
+ POSTGRES_DB: 'ci_test'
76
+ ruby_26_postgres:
77
+ docker:
78
+ - image: circleci/ruby:2.6-node
79
+ environment:
80
+ DATABASE_URL: "postgres://postgres:test@127.0.0.1:5432/ci_test"
81
+ - image: postgres
82
+ environment:
83
+ POSTGRES_PASSWORD: 'test'
84
+ POSTGRES_DB: 'ci_test'
85
+ ruby_27_postgres:
86
+ docker:
87
+ - image: circleci/ruby:2.7-node
88
+ environment:
89
+ DATABASE_URL: "postgres://postgres:test@127.0.0.1:5432/ci_test"
90
+ - image: postgres
91
+ environment:
92
+ POSTGRES_PASSWORD: 'test'
93
+ POSTGRES_DB: 'ci_test'
153
94
 
95
+ commands:
96
+ setup:
97
+ steps:
98
+ - run:
99
+ name: Install Java
100
+ command: |
101
+ sudo apt-get install openjdk-11-jdk
102
+ - run:
103
+ name: Update RubyGems
104
+ command: |
105
+ gem update --system
106
+ gem --version
107
+ - run:
108
+ name: Install Bundler
109
+ command: |
110
+ gem install bundler
111
+ bundler --version
112
+ bundle config set path './vendor/bundle'
113
+ - run:
114
+ name: Install Depdendecies
115
+ command: |
116
+ bundle check || bundle install
117
+ run_tests:
118
+ steps:
119
+ - run:
120
+ name: Run Tests
121
+ command: |
122
+ bundle exec rake
123
+ - run:
124
+ name: Run SonarQube to capture coverage
125
+ command: |
126
+ wget -O /tmp/sonar-scanner-cli.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.5.0.2216.zip
127
+ unzip -d /tmp /tmp/sonar-scanner-cli.zip
128
+ /tmp/sonar-scanner-4.5.0.2216/bin/sonar-scanner \
129
+ -Dsonar.projectKey=ruby-sensor \
130
+ -Dsonar.sources=. \
131
+ -Dsonar.host.url="${SONARQUBE_URL}" \
132
+ -Dsonar.login="${SONARQUBE_LOGIN}" \
133
+ -Dsonar.ruby.coverage.reportPaths=coverage/coverage.json
134
+ run_rubocop:
135
+ steps:
136
+ - run:
137
+ name: Run Tests
138
+ command: |
139
+ bundle exec rubocop
140
+
141
+ jobs:
142
+ test_core:
143
+ parameters:
144
+ stack:
145
+ type: executor
146
+ default: ruby_27
147
+ executor: << parameters.stack >>
154
148
  steps:
155
149
  - checkout
156
- - prelim-deps
157
- - bundle-install:
158
- gemfile: "./gemfiles/libraries.gemfile"
159
- - run-tests
150
+ - setup
151
+ - run_tests
152
+ test_apprisal:
153
+ parameters:
154
+ stack:
155
+ type: executor
156
+ default: ruby_27_postgres
157
+ gemfile:
158
+ type: string
159
+ default: "./gemfiles/rails_60.gemfile"
160
+ executor: << parameters.stack >>
161
+ environment:
162
+ APPRAISAL_INITIALIZED: "1"
163
+ BUNDLE_GEMFILE: << parameters.gemfile >>
164
+ steps:
165
+ - checkout
166
+ - setup
167
+ - run_tests
168
+ lint:
169
+ executor: ruby_27
170
+ steps:
171
+ - checkout
172
+ - setup
173
+ - run_rubocop
160
174
 
161
175
  workflows:
162
- version: 2
163
- whole-enchilada-MRI26:
176
+ core:
177
+ jobs:
178
+ - lint
179
+ - test_core:
180
+ matrix:
181
+ parameters:
182
+ stack:
183
+ - ruby_27
184
+ - ruby_26
185
+ - ruby_25
186
+ libraries:
187
+ jobs:
188
+ - test_apprisal:
189
+ matrix:
190
+ parameters:
191
+ stack:
192
+ - ruby_27
193
+ - ruby_26
194
+ - ruby_25
195
+ gemfile:
196
+ - "./gemfiles/cuba_30.gemfile"
197
+ - "./gemfiles/dalli_20.gemfile"
198
+ - "./gemfiles/excon_02.gemfile"
199
+ - "./gemfiles/graphql_10.gemfile"
200
+ - "./gemfiles/grpc_10.gemfile"
201
+ - "./gemfiles/net_http_01.gemfile"
202
+ - "./gemfiles/rack_16.gemfile"
203
+ - "./gemfiles/rack_20.gemfile"
204
+ - "./gemfiles/redis_40.gemfile"
205
+ - "./gemfiles/rest_client_16.gemfile"
206
+ - "./gemfiles/rest_client_20.gemfile"
207
+ - "./gemfiles/resque_122.gemfile"
208
+ - "./gemfiles/resque_20.gemfile"
209
+ - "./gemfiles/roda_20.gemfile"
210
+ - "./gemfiles/roda_30.gemfile"
211
+ - "./gemfiles/sidekiq_42.gemfile"
212
+ - "./gemfiles/sidekiq_50.gemfile"
213
+ - "./gemfiles/sinatra_14.gemfile"
214
+ rails:
164
215
  jobs:
165
- - ruby26
166
- - rails50
167
- - rails60
168
- - libraries
216
+ - test_apprisal:
217
+ matrix:
218
+ parameters:
219
+ stack:
220
+ - ruby_27_postgres
221
+ - ruby_26_postgres
222
+ - ruby_25_postgres
223
+ - ruby_27_mysql2
224
+ - ruby_26_mysql2
225
+ - ruby_25_mysql2
226
+ gemfile:
227
+ - "./gemfiles/rails_60.gemfile"
228
+ - "./gemfiles/rails_52.gemfile"
229
+ - "./gemfiles/rails_50.gemfile"
data/.gitignore CHANGED
@@ -14,3 +14,5 @@ gemfiles/*.lock
14
14
  .idea
15
15
  *.iml
16
16
  .DS_Store
17
+ vendor/bundle
18
+ gemfiles/vendor/bundle
data/.rubocop.yml CHANGED
@@ -1,1156 +1,14 @@
1
- AllCops:
2
- DisabledByDefault: true
3
-
4
- #################### Lint ################################
5
-
6
- Lint/AmbiguousOperator:
7
- Description: >-
8
- Checks for ambiguous operators in the first argument of a
9
- method invocation without parentheses.
10
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
11
- Enabled: true
12
-
13
- Lint/AmbiguousRegexpLiteral:
14
- Description: >-
15
- Checks for ambiguous regexp literals in the first argument of
16
- a method invocation without parenthesis.
17
- Enabled: true
18
-
19
- Lint/AssignmentInCondition:
20
- Description: "Don't use assignment in conditions."
21
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
22
- Enabled: true
23
-
24
- Lint/BlockAlignment:
25
- Description: 'Align block ends correctly.'
26
- Enabled: true
27
-
28
- Lint/CircularArgumentReference:
29
- Description: "Don't refer to the keyword argument in the default value."
30
- Enabled: true
31
-
32
- Lint/ConditionPosition:
33
- Description: >-
34
- Checks for condition placed in a confusing position relative to
35
- the keyword.
36
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
37
- Enabled: true
38
-
39
- Lint/Debugger:
40
- Description: 'Check for debugger calls.'
41
- Enabled: true
42
-
43
- Lint/DefEndAlignment:
44
- Description: 'Align ends corresponding to defs correctly.'
45
- Enabled: true
46
-
47
- Lint/DeprecatedClassMethods:
48
- Description: 'Check for deprecated class method calls.'
49
- Enabled: true
50
-
51
- Lint/DuplicateMethods:
52
- Description: 'Check for duplicate methods calls.'
53
- Enabled: true
54
-
55
- Lint/EachWithObjectArgument:
56
- Description: 'Check for immutable argument given to each_with_object.'
57
- Enabled: true
58
-
59
- Lint/ElseLayout:
60
- Description: 'Check for odd code arrangement in an else block.'
61
- Enabled: true
62
-
63
- Lint/EmptyEnsure:
64
- Description: 'Checks for empty ensure block.'
65
- Enabled: true
66
-
67
- Lint/EmptyInterpolation:
68
- Description: 'Checks for empty string interpolation.'
69
- Enabled: true
70
-
71
- Lint/EndAlignment:
72
- Description: 'Align ends correctly.'
73
- Enabled: true
74
-
75
- Lint/EndInMethod:
76
- Description: 'END blocks should not be placed inside method definitions.'
77
- Enabled: true
78
-
79
- Lint/EnsureReturn:
80
- Description: 'Do not use return in an ensure block.'
81
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-return-ensure'
82
- Enabled: true
83
-
84
- Lint/Eval:
85
- Description: 'The use of eval represents a serious security risk.'
86
- Enabled: true
87
-
88
- Lint/FormatParameterMismatch:
89
- Description: 'The number of parameters to format/sprint must match the fields.'
90
- Enabled: true
91
-
92
- Lint/HandleExceptions:
93
- Description: "Don't suppress exception."
94
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
95
- Enabled: true
96
-
97
- Lint/InvalidCharacterLiteral:
98
- Description: >-
99
- Checks for invalid character literals with a non-escaped
100
- whitespace character.
101
- Enabled: true
102
-
103
- Lint/LiteralInCondition:
104
- Description: 'Checks of literals used in conditions.'
105
- Enabled: true
106
-
107
- Lint/LiteralInInterpolation:
108
- Description: 'Checks for literals used in interpolation.'
109
- Enabled: true
110
-
111
- Lint/Loop:
112
- Description: >-
113
- Use Kernel#loop with break rather than begin/end/until or
114
- begin/end/while for post-loop tests.
115
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
116
- Enabled: true
117
-
118
- Lint/NestedMethodDefinition:
119
- Description: 'Do not use nested method definitions.'
120
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
121
- Enabled: true
122
-
123
- Lint/NonLocalExitFromIterator:
124
- Description: 'Do not use return in iterator to cause non-local exit.'
125
- Enabled: true
126
-
127
- Lint/ParenthesesAsGroupedExpression:
128
- Description: >-
129
- Checks for method calls with a space before the opening
130
- parenthesis.
131
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
132
- Enabled: true
133
-
134
- Lint/RequireParentheses:
135
- Description: >-
136
- Use parentheses in the method call to avoid confusion
137
- about precedence.
138
- Enabled: true
139
-
140
- Lint/RescueException:
141
- Description: 'Avoid rescuing the Exception class.'
142
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-blind-rescues'
143
- Enabled: true
144
-
145
- Lint/ShadowingOuterLocalVariable:
146
- Description: >-
147
- Do not use the same name as outer local variable
148
- for block arguments or block local variables.
149
- Enabled: true
150
-
151
- Lint/StringConversionInInterpolation:
152
- Description: 'Checks for Object#to_s usage in string interpolation.'
153
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-to-s'
154
- Enabled: true
155
-
156
- Lint/UnderscorePrefixedVariableName:
157
- Description: 'Do not use prefix `_` for a variable that is used.'
158
- Enabled: true
159
-
160
- Lint/UnneededDisable:
161
- Description: >-
162
- Checks for rubocop:disable comments that can be removed.
163
- Note: this cop is not disabled when disabling all cops.
164
- It must be explicitly disabled.
165
- Enabled: true
166
-
167
- Lint/UnusedBlockArgument:
168
- Description: 'Checks for unused block arguments.'
169
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
170
- Enabled: true
171
-
172
- Lint/UnusedMethodArgument:
173
- Description: 'Checks for unused method arguments.'
174
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
175
- Enabled: true
176
-
177
- Lint/UnreachableCode:
178
- Description: 'Unreachable code.'
179
- Enabled: true
180
-
181
- Lint/UselessAccessModifier:
182
- Description: 'Checks for useless access modifiers.'
183
- Enabled: true
184
-
185
- Lint/UselessAssignment:
186
- Description: 'Checks for useless assignment to a local variable.'
187
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
188
- Enabled: true
189
-
190
- Lint/UselessComparison:
191
- Description: 'Checks for comparison of something with itself.'
192
- Enabled: true
193
-
194
- Lint/UselessElseWithoutRescue:
195
- Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
196
- Enabled: true
197
-
198
- Lint/UselessSetterCall:
199
- Description: 'Checks for useless setter call to a local variable.'
200
- Enabled: true
201
-
202
- Lint/Void:
203
- Description: 'Possible use of operator/literal/variable in void context.'
204
- Enabled: true
205
-
206
- ###################### Metrics ####################################
207
-
208
- Metrics/AbcSize:
209
- Description: >-
210
- A calculated magnitude based on number of assignments,
211
- branches, and conditions.
212
- Reference: 'http://c2.com/cgi/wiki?AbcMetric'
213
- Enabled: false
214
- Max: 20
215
-
216
- Metrics/BlockNesting:
217
- Description: 'Avoid excessive block nesting'
218
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
219
- Enabled: true
220
- Max: 4
221
-
222
- Metrics/ClassLength:
223
- Description: 'Avoid classes longer than 250 lines of code.'
224
- Enabled: true
225
- Max: 250
226
-
227
- Metrics/CyclomaticComplexity:
228
- Description: >-
229
- A complexity metric that is strongly correlated to the number
230
- of test cases needed to validate a method.
231
- Enabled: true
232
-
233
- Metrics/LineLength:
234
- Description: 'Limit lines to 80 characters.'
235
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
236
- Enabled: false
237
-
238
- Metrics/MethodLength:
239
- Description: 'Avoid methods longer than 30 lines of code.'
240
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
241
- Enabled: true
242
- Max: 30
243
-
244
- Metrics/ModuleLength:
245
- Description: 'Avoid modules longer than 250 lines of code.'
246
- Enabled: true
247
- Max: 250
248
-
249
- Metrics/ParameterLists:
250
- Description: 'Avoid parameter lists longer than three or four parameters.'
251
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
252
- Enabled: true
253
-
254
- Metrics/PerceivedComplexity:
255
- Description: >-
256
- A complexity metric geared towards measuring complexity for a
257
- human reader.
258
- Enabled: false
259
-
260
- ##################### Performance #############################
261
-
262
- Performance/Count:
263
- Description: >-
264
- Use `count` instead of `select...size`, `reject...size`,
265
- `select...count`, `reject...count`, `select...length`,
266
- and `reject...length`.
267
- Enabled: true
268
-
269
- Performance/Detect:
270
- Description: >-
271
- Use `detect` instead of `select.first`, `find_all.first`,
272
- `select.last`, and `find_all.last`.
273
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
274
- Enabled: true
275
-
276
- Performance/FlatMap:
277
- Description: >-
278
- Use `Enumerable#flat_map`
279
- instead of `Enumerable#map...Array#flatten(1)`
280
- or `Enumberable#collect..Array#flatten(1)`
281
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
282
- Enabled: true
283
- EnabledForFlattenWithoutParams: false
284
- # If enabled, this cop will warn about usages of
285
- # `flatten` being called without any parameters.
286
- # This can be dangerous since `flat_map` will only flatten 1 level, and
287
- # `flatten` without any parameters can flatten multiple levels.
288
-
289
- Performance/ReverseEach:
290
- Description: 'Use `reverse_each` instead of `reverse.each`.'
291
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
292
- Enabled: true
293
-
294
- Performance/Sample:
295
- Description: >-
296
- Use `sample` instead of `shuffle.first`,
297
- `shuffle.last`, and `shuffle[Fixnum]`.
298
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
299
- Enabled: true
300
-
301
- Performance/Size:
302
- Description: >-
303
- Use `size` instead of `count` for counting
304
- the number of elements in `Array` and `Hash`.
305
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
306
- Enabled: true
307
-
308
- Performance/StringReplacement:
309
- Description: >-
310
- Use `tr` instead of `gsub` when you are replacing the same
311
- number of characters. Use `delete` instead of `gsub` when
312
- you are deleting characters.
313
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
314
- Enabled: true
315
-
316
- ##################### Rails ##################################
317
-
318
- Rails/ActionFilter:
319
- Description: 'Enforces consistent use of action filter methods.'
320
- Enabled: false
321
-
322
- Rails/Date:
323
- Description: >-
324
- Checks the correct usage of date aware methods,
325
- such as Date.today, Date.current etc.
326
- Enabled: false
327
-
328
- Rails/Delegate:
329
- Description: 'Prefer delegate method for delegations.'
330
- Enabled: false
331
-
332
- Rails/FindBy:
333
- Description: 'Prefer find_by over where.first.'
334
- Enabled: false
335
-
336
- Rails/FindEach:
337
- Description: 'Prefer all.find_each over all.find.'
338
- Enabled: false
339
-
340
- Rails/HasAndBelongsToMany:
341
- Description: 'Prefer has_many :through to has_and_belongs_to_many.'
342
- Enabled: false
343
-
344
- Rails/Output:
345
- Description: 'Checks for calls to puts, print, etc.'
346
- Enabled: false
347
-
348
- Rails/ReadWriteAttribute:
349
- Description: >-
350
- Checks for read_attribute(:attr) and
351
- write_attribute(:attr, val).
352
- Enabled: false
353
-
354
- Rails/ScopeArgs:
355
- Description: 'Checks the arguments of ActiveRecord scopes.'
356
- Enabled: false
357
-
358
- Rails/TimeZone:
359
- Description: 'Checks the correct usage of time zone aware methods.'
360
- StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
361
- Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
362
- Enabled: false
363
-
364
- Rails/Validation:
365
- Description: 'Use validates :attribute, hash of validations.'
366
- Enabled: false
367
-
368
- ################## Style #################################
369
-
370
- Style/AccessModifierIndentation:
371
- Description: Check indentation of private/protected visibility modifiers.
372
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected'
373
- Enabled: false
374
-
375
- Style/AccessorMethodName:
376
- Description: Check the naming of accessor methods for get_/set_.
377
- Enabled: false
378
-
379
- Style/Alias:
380
- Description: 'Use alias_method instead of alias.'
381
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
382
- Enabled: false
383
-
384
- Style/AlignArray:
385
- Description: >-
386
- Align the elements of an array literal if they span more than
387
- one line.
388
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays'
389
- Enabled: false
390
-
391
- Style/AlignHash:
392
- Description: >-
393
- Align the elements of a hash literal if they span more than
394
- one line.
395
- Enabled: false
396
-
397
- Style/AlignParameters:
398
- Description: >-
399
- Align the parameters of a method call if they span more
400
- than one line.
401
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
402
- Enabled: false
403
-
404
- Style/AndOr:
405
- Description: 'Use &&/|| instead of and/or.'
406
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-and-or-or'
407
- Enabled: false
408
-
409
- Style/ArrayJoin:
410
- Description: 'Use Array#join instead of Array#*.'
411
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
412
- Enabled: false
413
-
414
- Style/AsciiComments:
415
- Description: 'Use only ascii symbols in comments.'
416
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
417
- Enabled: false
418
-
419
- Style/AsciiIdentifiers:
420
- Description: 'Use only ascii symbols in identifiers.'
421
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
422
- Enabled: false
423
-
424
- Style/Attr:
425
- Description: 'Checks for uses of Module#attr.'
426
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
427
- Enabled: false
428
-
429
- Style/BeginBlock:
430
- Description: 'Avoid the use of BEGIN blocks.'
431
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks'
432
- Enabled: false
433
-
434
- Style/BarePercentLiterals:
435
- Description: 'Checks if usage of %() or %Q() matches configuration.'
436
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand'
437
- Enabled: false
438
-
439
- Style/BlockComments:
440
- Description: 'Do not use block comments.'
441
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-block-comments'
442
- Enabled: false
443
-
444
- Style/BlockEndNewline:
445
- Description: 'Put end statement of multiline block on its own line.'
446
- Enabled: false
447
-
448
- Style/BlockDelimiters:
449
- Description: >-
450
- Avoid using {...} for multi-line blocks (multiline chaining is
451
- always ugly).
452
- Prefer {...} over do...end for single-line blocks.
453
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
454
- Enabled: false
455
-
456
- Style/BracesAroundHashParameters:
457
- Description: 'Enforce braces style around hash parameters.'
458
- Enabled: false
459
-
460
- Style/CaseEquality:
461
- Description: 'Avoid explicit use of the case equality operator(===).'
462
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
463
- Enabled: false
464
-
465
- Style/CaseIndentation:
466
- Description: 'Indentation of when in a case/when/[else/]end.'
467
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-when-to-case'
468
- Enabled: false
469
-
470
- Style/CharacterLiteral:
471
- Description: 'Checks for uses of character literals.'
472
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
473
- Enabled: false
474
-
475
- Style/ClassAndModuleCamelCase:
476
- Description: 'Use CamelCase for classes and modules.'
477
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#camelcase-classes'
478
- Enabled: false
479
-
480
- Style/ClassAndModuleChildren:
481
- Description: 'Checks style of children classes and modules.'
482
- Enabled: false
483
-
484
- Style/ClassCheck:
485
- Description: 'Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.'
486
- Enabled: false
487
-
488
- Style/ClassMethods:
489
- Description: 'Use self when defining module/class methods.'
490
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#def-self-class-methods'
491
- Enabled: false
492
-
493
- Style/ClassVars:
494
- Description: 'Avoid the use of class variables.'
495
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
496
- Enabled: false
497
-
498
- Style/ClosingParenthesisIndentation:
499
- Description: 'Checks the indentation of hanging closing parentheses.'
500
- Enabled: false
501
-
502
- Style/ColonMethodCall:
503
- Description: 'Do not use :: for method call.'
504
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
505
- Enabled: false
506
-
507
- Style/CommandLiteral:
508
- Description: 'Use `` or %x around command literals.'
509
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-x'
510
- Enabled: false
511
-
512
- Style/CommentAnnotation:
513
- Description: 'Checks formatting of annotation comments.'
514
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
515
- Enabled: false
516
-
517
- Style/CommentIndentation:
518
- Description: 'Indentation of comments.'
519
- Enabled: false
520
-
521
- Style/ConstantName:
522
- Description: 'Constants should use SCREAMING_SNAKE_CASE.'
523
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#screaming-snake-case'
524
- Enabled: false
525
-
526
- Style/DefWithParentheses:
527
- Description: 'Use def with parentheses when there are arguments.'
528
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
529
- Enabled: false
530
-
531
- Style/PreferredHashMethods:
532
- Description: 'Checks for use of deprecated Hash methods.'
533
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key'
534
- Enabled: false
535
-
536
- Style/Documentation:
537
- Description: 'Document classes and non-namespace modules.'
538
- Enabled: false
539
-
540
- Style/DotPosition:
541
- Description: 'Checks the position of the dot in multi-line method calls.'
542
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
543
- Enabled: false
544
-
545
- Style/DoubleNegation:
546
- Description: 'Checks for uses of double negation (!!).'
547
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
548
- Enabled: false
549
-
550
- Style/EachWithObject:
551
- Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
552
- Enabled: false
553
-
554
- Style/ElseAlignment:
555
- Description: 'Align elses and elsifs correctly.'
556
- Enabled: false
557
-
558
- Style/EmptyElse:
559
- Description: 'Avoid empty else-clauses.'
560
- Enabled: false
561
-
562
- Style/EmptyLineBetweenDefs:
563
- Description: 'Use empty lines between defs.'
564
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods'
565
- Enabled: false
566
-
567
- Style/EmptyLines:
568
- Description: "Don't use several empty lines in a row."
569
- Enabled: false
570
-
571
- Style/EmptyLinesAroundAccessModifier:
572
- Description: "Keep blank lines around access modifiers."
573
- Enabled: false
574
-
575
- Style/EmptyLinesAroundBlockBody:
576
- Description: "Keeps track of empty lines around block bodies."
577
- Enabled: false
578
-
579
- Style/EmptyLinesAroundClassBody:
580
- Description: "Keeps track of empty lines around class bodies."
581
- Enabled: false
582
-
583
- Style/EmptyLinesAroundModuleBody:
584
- Description: "Keeps track of empty lines around module bodies."
585
- Enabled: false
586
-
587
- Style/EmptyLinesAroundMethodBody:
588
- Description: "Keeps track of empty lines around method bodies."
589
- Enabled: false
590
-
591
- Style/EmptyLiteral:
592
- Description: 'Prefer literals to Array.new/Hash.new/String.new.'
593
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
594
- Enabled: false
595
-
596
- Style/EndBlock:
597
- Description: 'Avoid the use of END blocks.'
598
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-END-blocks'
599
- Enabled: false
600
-
601
- Style/EndOfLine:
602
- Description: 'Use Unix-style line endings.'
603
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#crlf'
604
- Enabled: false
605
-
606
- Style/EvenOdd:
607
- Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
608
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
609
- Enabled: false
610
-
611
- Style/ExtraSpacing:
612
- Description: 'Do not use unnecessary spacing.'
613
- Enabled: false
614
-
615
- Style/FileName:
616
- Description: 'Use snake_case for source file names.'
617
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
618
- Enabled: false
619
-
620
- Style/InitialIndentation:
621
- Description: >-
622
- Checks the indentation of the first non-blank non-comment line in a file.
623
- Enabled: false
624
-
625
- Style/FirstParameterIndentation:
626
- Description: 'Checks the indentation of the first parameter in a method call.'
627
- Enabled: false
628
-
629
- Style/FlipFlop:
630
- Description: 'Checks for flip flops'
631
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
632
- Enabled: false
633
-
634
- Style/For:
635
- Description: 'Checks use of for or each in multiline loops.'
636
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-for-loops'
637
- Enabled: false
638
-
639
- Style/FormatString:
640
- Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
641
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
642
- Enabled: false
643
-
644
- Style/GlobalVars:
645
- Description: 'Do not introduce global variables.'
646
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
647
- Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
648
- Enabled: false
649
-
650
- Style/GuardClause:
651
- Description: 'Check for conditionals that can be replaced with guard clauses'
652
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
653
- Enabled: false
1
+ inherit_from: .rubocop_todo.yml
654
2
 
3
+ # Broken on 1.9
655
4
  Style/HashSyntax:
656
- Description: >-
657
- Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
658
- { :a => 1, :b => 2 }.
659
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-literals'
660
- Enabled: false
661
-
662
- Style/IfUnlessModifier:
663
- Description: >-
664
- Favor modifier if/unless usage when you have a
665
- single-line body.
666
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
667
- Enabled: false
668
-
669
- Style/IfWithSemicolon:
670
- Description: 'Do not use if x; .... Use the ternary operator instead.'
671
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
672
- Enabled: false
673
-
674
- Style/IndentationConsistency:
675
- Description: 'Keep indentation straight.'
676
- Enabled: false
677
-
678
- Style/IndentationWidth:
679
- Description: 'Use 2 spaces for indentation.'
680
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
681
- Enabled: false
682
-
683
- Style/IndentArray:
684
- Description: >-
685
- Checks the indentation of the first element in an array
686
- literal.
687
- Enabled: false
688
-
689
- Style/IndentHash:
690
- Description: 'Checks the indentation of the first key in a hash literal.'
691
- Enabled: false
692
-
693
- Style/InfiniteLoop:
694
- Description: 'Use Kernel#loop for infinite loops.'
695
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#infinite-loop'
696
- Enabled: false
697
-
698
- Style/Lambda:
699
- Description: 'Use the new lambda literal syntax for single-line blocks.'
700
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
701
- Enabled: false
702
-
703
- Style/LambdaCall:
704
- Description: 'Use lambda.call(...) instead of lambda.(...).'
705
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
706
- Enabled: false
707
-
708
- Style/LeadingCommentSpace:
709
- Description: 'Comments should start with a space.'
710
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-space'
711
- Enabled: false
712
-
713
- Style/LineEndConcatenation:
714
- Description: >-
715
- Use \ instead of + or << to concatenate two string literals at
716
- line end.
717
- Enabled: false
718
-
719
- Style/MethodCallParentheses:
720
- Description: 'Do not use parentheses for method calls with no arguments.'
721
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens'
722
- Enabled: false
723
-
724
- Style/MethodDefParentheses:
725
- Description: >-
726
- Checks if the method definitions have or don't have
727
- parentheses.
728
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
729
- Enabled: false
730
-
731
- Style/MethodName:
732
- Description: 'Use the configured style when naming methods.'
733
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
734
- Enabled: false
735
-
736
- Style/ModuleFunction:
737
- Description: 'Checks for usage of `extend self` in modules.'
738
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
739
- Enabled: false
740
-
741
- Style/MultilineBlockChain:
742
- Description: 'Avoid multi-line chains of blocks.'
743
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
744
- Enabled: false
745
-
746
- Style/MultilineBlockLayout:
747
- Description: 'Ensures newlines after multiline block do statements.'
748
- Enabled: false
749
-
750
- Style/MultilineIfThen:
751
- Description: 'Do not use then for multi-line if/unless.'
752
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-then'
753
5
  Enabled: false
754
6
 
755
- Style/MultilineOperationIndentation:
756
- Description: >-
757
- Checks indentation of binary operations that span more than
758
- one line.
759
- Enabled: false
760
-
761
- Style/MultilineTernaryOperator:
762
- Description: >-
763
- Avoid multi-line ?: (the ternary operator);
764
- use if/unless instead.
765
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary'
766
- Enabled: false
767
-
768
- Style/NegatedIf:
769
- Description: >-
770
- Favor unless over if for negative conditions
771
- (or control flow or).
772
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
773
- Enabled: false
774
-
775
- Style/NegatedWhile:
776
- Description: 'Favor until over while for negative conditions.'
777
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
778
- Enabled: false
779
-
780
- Style/NestedTernaryOperator:
781
- Description: 'Use one expression per branch in a ternary operator.'
782
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-ternary'
783
- Enabled: false
784
-
785
- Style/Next:
786
- Description: 'Use `next` to skip iteration instead of a condition at the end.'
787
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
7
+ Style/EvalWithLocation:
788
8
  Enabled: false
789
9
 
790
10
  Style/NilComparison:
791
- Description: 'Prefer x.nil? to x == nil.'
792
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
793
- Enabled: false
794
-
795
- Style/NonNilCheck:
796
- Description: 'Checks for redundant nil checks.'
797
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks'
798
- Enabled: false
799
-
800
- Style/Not:
801
- Description: 'Use ! instead of not.'
802
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
803
- Enabled: false
804
-
805
- Style/NumericLiterals:
806
- Description: >-
807
- Add underscores to large numeric literals to improve their
808
- readability.
809
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
810
- Enabled: false
811
-
812
- Style/OneLineConditional:
813
- Description: >-
814
- Favor the ternary operator(?:) over
815
- if/then/else/end constructs.
816
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
817
- Enabled: false
818
-
819
- Style/OpMethod:
820
- Description: 'When defining binary operators, name the argument other.'
821
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
822
- Enabled: false
823
-
824
- Style/OptionalArguments:
825
- Description: >-
826
- Checks for optional arguments that do not appear at the end
827
- of the argument list
828
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#optional-arguments'
829
- Enabled: false
830
-
831
- Style/ParallelAssignment:
832
- Description: >-
833
- Check for simple usages of parallel assignment.
834
- It will only warn when the number of variables
835
- matches on both sides of the assignment.
836
- This also provides performance benefits
837
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parallel-assignment'
838
- Enabled: false
839
-
840
- Style/ParenthesesAroundCondition:
841
- Description: >-
842
- Don't use parentheses around the condition of an
843
- if/unless/while.
844
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-parens-if'
845
- Enabled: false
846
-
847
- Style/PercentLiteralDelimiters:
848
- Description: 'Use `%`-literal delimiters consistently'
849
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
850
- Enabled: false
851
-
852
- Style/PercentQLiterals:
853
- Description: 'Checks if uses of %Q/%q match the configured preference.'
854
- Enabled: false
855
-
856
- Style/PerlBackrefs:
857
- Description: 'Avoid Perl-style regex back references.'
858
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
859
- Enabled: false
860
-
861
- Style/PredicateName:
862
- Description: 'Check the names of predicate methods.'
863
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
864
- Enabled: false
865
-
866
- Style/Proc:
867
- Description: 'Use proc instead of Proc.new.'
868
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
869
- Enabled: false
870
-
871
- Style/RaiseArgs:
872
- Description: 'Checks the arguments passed to raise/fail.'
873
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
874
- Enabled: false
875
-
876
- Style/RedundantBegin:
877
- Description: "Don't use begin blocks when they are not needed."
878
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#begin-implicit'
879
- Enabled: false
880
-
881
- Style/RedundantException:
882
- Description: "Checks for an obsolete RuntimeException argument in raise/fail."
883
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror'
884
- Enabled: false
885
-
886
- Style/RedundantReturn:
887
- Description: "Don't use return where it's not required."
888
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-return'
889
- Enabled: false
890
-
891
- Style/RedundantSelf:
892
- Description: "Don't use self where it's not needed."
893
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-self-unless-required'
894
- Enabled: false
895
-
896
- Style/RegexpLiteral:
897
- Description: 'Use / or %r around regular expressions.'
898
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
899
11
  Enabled: false
900
12
 
901
- Style/RescueEnsureAlignment:
902
- Description: 'Align rescues and ensures correctly.'
903
- Enabled: false
904
-
905
- Style/RescueModifier:
906
- Description: 'Avoid using rescue in its modifier form.'
907
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers'
908
- Enabled: false
909
-
910
- Style/SelfAssignment:
911
- Description: >-
912
- Checks for places where self-assignment shorthand should have
913
- been used.
914
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
915
- Enabled: false
916
-
917
- Style/Semicolon:
918
- Description: "Don't use semicolons to terminate expressions."
919
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon'
920
- Enabled: false
921
-
922
- Style/SignalException:
923
- Description: 'Checks for proper usage of fail and raise.'
924
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
925
- Enabled: false
926
-
927
- Style/SingleLineBlockParams:
928
- Description: 'Enforces the names of some block params.'
929
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
930
- Enabled: false
931
-
932
- Style/SingleLineMethods:
933
- Description: 'Avoid single-line methods.'
934
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
935
- Enabled: false
936
-
937
- Style/SpaceBeforeFirstArg:
938
- Description: >-
939
- Checks that exactly one space is used between a method name
940
- and the first argument for method calls without parentheses.
941
- Enabled: true
942
-
943
- Style/SpaceAfterColon:
944
- Description: 'Use spaces after colons.'
945
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
946
- Enabled: false
947
-
948
- Style/SpaceAfterComma:
949
- Description: 'Use spaces after commas.'
950
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
951
- Enabled: false
952
-
953
- Style/SpaceAroundKeyword:
954
- Description: 'Use spaces around keywords.'
955
- Enabled: false
956
-
957
- Style/SpaceAfterMethodName:
958
- Description: >-
959
- Do not put a space between a method name and the opening
960
- parenthesis in a method definition.
961
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
962
- Enabled: false
963
-
964
- Style/SpaceAfterNot:
965
- Description: Tracks redundant space after the ! operator.
966
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-bang'
967
- Enabled: false
968
-
969
- Style/SpaceAfterSemicolon:
970
- Description: 'Use spaces after semicolons.'
971
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
972
- Enabled: false
973
-
974
- Style/SpaceBeforeBlockBraces:
975
- Description: >-
976
- Checks that the left block brace has or doesn't have space
977
- before it.
978
- Enabled: false
979
-
980
- Style/SpaceBeforeComma:
981
- Description: 'No spaces before commas.'
982
- Enabled: false
983
-
984
- Style/SpaceBeforeComment:
985
- Description: >-
986
- Checks for missing space between code and a comment on the
987
- same line.
988
- Enabled: false
989
-
990
- Style/SpaceBeforeSemicolon:
991
- Description: 'No spaces before semicolons.'
992
- Enabled: false
993
-
994
- Style/SpaceInsideBlockBraces:
995
- Description: >-
996
- Checks that block braces have or don't have surrounding space.
997
- For blocks taking parameters, checks that the left brace has
998
- or doesn't have trailing space.
999
- Enabled: false
1000
-
1001
- Style/SpaceAroundBlockParameters:
1002
- Description: 'Checks the spacing inside and after block parameters pipes.'
1003
- Enabled: false
1004
-
1005
- Style/SpaceAroundEqualsInParameterDefault:
1006
- Description: >-
1007
- Checks that the equals signs in parameter default assignments
1008
- have or don't have surrounding space depending on
1009
- configuration.
1010
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-around-equals'
1011
- Enabled: false
1012
-
1013
- Style/SpaceAroundOperators:
1014
- Description: 'Use a single space around operators.'
1015
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1016
- Enabled: false
1017
-
1018
- Style/SpaceInsideBrackets:
1019
- Description: 'No spaces after [ or before ].'
1020
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
1021
- Enabled: false
1022
-
1023
- Style/SpaceInsideHashLiteralBraces:
1024
- Description: "Use spaces inside hash literal braces - or don't."
1025
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1026
- Enabled: false
1027
-
1028
- Style/SpaceInsideParens:
1029
- Description: 'No spaces after ( or before ).'
1030
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
1031
- Enabled: false
1032
-
1033
- Style/SpaceInsideRangeLiteral:
1034
- Description: 'No spaces inside range literals.'
1035
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals'
1036
- Enabled: false
1037
-
1038
- Style/SpaceInsideStringInterpolation:
1039
- Description: 'Checks for padding/surrounding spaces inside string interpolation.'
1040
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#string-interpolation'
1041
- Enabled: false
1042
-
1043
- Style/SpecialGlobalVars:
1044
- Description: 'Avoid Perl-style global variables.'
1045
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
1046
- Enabled: false
1047
-
1048
- Style/StringLiterals:
1049
- Description: 'Checks if uses of quotes match the configured preference.'
1050
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
1051
- Enabled: false
1052
-
1053
- Style/StringLiteralsInInterpolation:
1054
- Description: >-
1055
- Checks if uses of quotes inside expressions in interpolated
1056
- strings match the configured preference.
1057
- Enabled: false
1058
-
1059
- Style/StructInheritance:
1060
- Description: 'Checks for inheritance from Struct.new.'
1061
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new'
1062
- Enabled: false
1063
-
1064
- Style/SymbolLiteral:
1065
- Description: 'Use plain symbols instead of string symbols when possible.'
1066
- Enabled: false
1067
-
1068
- Style/SymbolProc:
1069
- Description: 'Use symbols as procs instead of blocks when possible.'
1070
- Enabled: false
1071
-
1072
- Style/Tab:
1073
- Description: 'No hard tabs.'
1074
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
1075
- Enabled: false
1076
-
1077
- Style/TrailingBlankLines:
1078
- Description: 'Checks trailing blank lines and final newline.'
1079
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#newline-eof'
1080
- Enabled: false
1081
-
1082
- Style/TrailingCommaInArguments:
1083
- Description: 'Checks for trailing comma in parameter lists.'
1084
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-params-comma'
1085
- Enabled: false
1086
-
1087
- Style/TrailingCommaInLiteral:
1088
- Description: 'Checks for trailing comma in literals.'
1089
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
1090
- Enabled: false
1091
-
1092
- Style/TrailingWhitespace:
1093
- Description: 'Avoid trailing whitespace.'
1094
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace'
1095
- Enabled: false
1096
-
1097
- Style/TrivialAccessors:
1098
- Description: 'Prefer attr_* methods to trivial readers/writers.'
1099
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
1100
- Enabled: false
1101
-
1102
- Style/UnlessElse:
1103
- Description: >-
1104
- Do not use unless with else. Rewrite these with the positive
1105
- case first.
1106
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-else-with-unless'
1107
- Enabled: false
1108
-
1109
- Style/UnneededCapitalW:
1110
- Description: 'Checks for %W when interpolation is not needed.'
1111
- Enabled: false
1112
-
1113
- Style/UnneededPercentQ:
1114
- Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
1115
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q'
1116
- Enabled: false
1117
-
1118
- Style/TrailingUnderscoreVariable:
1119
- Description: >-
1120
- Checks for the usage of unneeded trailing underscores at the
1121
- end of parallel variable assignment.
1122
- Enabled: false
1123
-
1124
- Style/VariableInterpolation:
1125
- Description: >-
1126
- Don't interpolate global, instance and class variables
1127
- directly in strings.
1128
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
1129
- Enabled: false
1130
-
1131
- Style/VariableName:
1132
- Description: 'Use the configured style when naming variables.'
1133
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
1134
- Enabled: false
1135
-
1136
- Style/WhenThen:
1137
- Description: 'Use when x then ... for one-line cases.'
1138
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
1139
- Enabled: false
1140
-
1141
- Style/WhileUntilDo:
1142
- Description: 'Checks for redundant do after while or until.'
1143
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do'
1144
- Enabled: false
1145
-
1146
- Style/WhileUntilModifier:
1147
- Description: >-
1148
- Favor modifier while/until usage when you have a
1149
- single-line body.
1150
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
1151
- Enabled: false
1152
-
1153
- Style/WordArray:
1154
- Description: 'Use %w or %W for arrays of words.'
1155
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
1156
- Enabled: false
13
+ Style/SoleNestedConditional:
14
+ Enabled: false