warder 0.1.2 → 0.1.3

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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/bin/warder +3 -46
  4. data/features/checks_for_rails_related_security_issues.feature +25 -0
  5. data/features/step_definitions/checks_for_rails_security_issues_steps.rb +20 -0
  6. data/features/support/env.rb +16 -0
  7. data/lib/warder/bundle_audit_runner.rb +4 -1
  8. data/lib/warder/cli/arguments.rb +58 -0
  9. data/lib/warder/cli.rb +21 -54
  10. data/lib/warder/code_complexity_runner.rb +6 -2
  11. data/lib/warder/code_duplication_runner.rb +4 -1
  12. data/lib/warder/code_smells_runner.rb +3 -0
  13. data/lib/warder/magick_numbers_runner.rb +3 -0
  14. data/lib/warder/rails_security_runner.rb +22 -0
  15. data/lib/warder/runner.rb +5 -4
  16. data/lib/warder/style_guide_runner.rb +3 -0
  17. data/lib/warder/version.rb +1 -1
  18. data/lib/warder.rb +11 -0
  19. data/spec/fixtures/invalid_code_smells.rb +1 -1
  20. data/spec/fixtures/invalid_rails_app/Gemfile +3 -0
  21. data/spec/fixtures/invalid_rails_app/Rakefile +6 -0
  22. data/spec/fixtures/invalid_rails_app/app/controllers/application_controller.rb +5 -0
  23. data/spec/fixtures/invalid_rails_app/app/views/layouts/application.html.erb +14 -0
  24. data/spec/fixtures/invalid_rails_app/config/application.rb +23 -0
  25. data/spec/fixtures/invalid_rails_app/config/boot.rb +4 -0
  26. data/spec/fixtures/invalid_rails_app/config/database.yml +25 -0
  27. data/spec/fixtures/invalid_rails_app/config/environment.rb +5 -0
  28. data/spec/fixtures/invalid_rails_app/config/environments/development.rb +29 -0
  29. data/spec/fixtures/invalid_rails_app/config/environments/production.rb +80 -0
  30. data/spec/fixtures/invalid_rails_app/config/environments/test.rb +36 -0
  31. data/spec/fixtures/invalid_rails_app/config/initializers/backtrace_silencers.rb +7 -0
  32. data/spec/fixtures/invalid_rails_app/config/initializers/filter_parameter_logging.rb +4 -0
  33. data/spec/fixtures/invalid_rails_app/config/initializers/inflections.rb +16 -0
  34. data/spec/fixtures/invalid_rails_app/config/initializers/mime_types.rb +5 -0
  35. data/spec/fixtures/invalid_rails_app/config/initializers/secret_token.rb +12 -0
  36. data/spec/fixtures/invalid_rails_app/config/initializers/session_store.rb +3 -0
  37. data/spec/fixtures/invalid_rails_app/config/initializers/wrap_parameters.rb +14 -0
  38. data/spec/fixtures/invalid_rails_app/config/locales/en.yml +23 -0
  39. data/spec/fixtures/invalid_rails_app/config/routes.rb +56 -0
  40. data/spec/fixtures/invalid_rails_app/config.ru +4 -0
  41. data/spec/fixtures/valid_rails_app/Gemfile +3 -0
  42. data/spec/fixtures/valid_rails_app/Rakefile +6 -0
  43. data/spec/fixtures/valid_rails_app/app/controllers/application_controller.rb +5 -0
  44. data/spec/fixtures/valid_rails_app/app/views/layouts/application.html.erb +14 -0
  45. data/spec/fixtures/valid_rails_app/config/application.rb +23 -0
  46. data/spec/fixtures/valid_rails_app/config/boot.rb +4 -0
  47. data/spec/fixtures/valid_rails_app/config/database.yml +25 -0
  48. data/spec/fixtures/valid_rails_app/config/environment.rb +5 -0
  49. data/spec/fixtures/valid_rails_app/config/environments/development.rb +29 -0
  50. data/spec/fixtures/valid_rails_app/config/environments/production.rb +80 -0
  51. data/spec/fixtures/valid_rails_app/config/environments/test.rb +36 -0
  52. data/spec/fixtures/valid_rails_app/config/initializers/backtrace_silencers.rb +7 -0
  53. data/spec/fixtures/valid_rails_app/config/initializers/filter_parameter_logging.rb +4 -0
  54. data/spec/fixtures/valid_rails_app/config/initializers/inflections.rb +16 -0
  55. data/spec/fixtures/valid_rails_app/config/initializers/mime_types.rb +5 -0
  56. data/spec/fixtures/valid_rails_app/config/initializers/secret_token.rb +12 -0
  57. data/spec/fixtures/valid_rails_app/config/initializers/session_store.rb +3 -0
  58. data/spec/fixtures/valid_rails_app/config/initializers/wrap_parameters.rb +14 -0
  59. data/spec/fixtures/valid_rails_app/config/locales/en.yml +23 -0
  60. data/spec/fixtures/valid_rails_app/config/routes.rb +56 -0
  61. data/spec/fixtures/valid_rails_app/config.ru +4 -0
  62. data/warder.gemspec +2 -1
  63. metadata +120 -2
@@ -0,0 +1,56 @@
1
+ Valid::Application.routes.draw do
2
+ # The priority is based upon order of creation: first created -> highest priority.
3
+ # See how all your routes lay out with "rake routes".
4
+
5
+ # You can have the root of your site routed with "root"
6
+ # root 'welcome#index'
7
+
8
+ # Example of regular route:
9
+ # get 'products/:id' => 'catalog#view'
10
+
11
+ # Example of named route that can be invoked with purchase_url(id: product.id)
12
+ # get 'products/:id/purchase' => 'catalog#purchase', as: :purchase
13
+
14
+ # Example resource route (maps HTTP verbs to controller actions automatically):
15
+ # resources :products
16
+
17
+ # Example resource route with options:
18
+ # resources :products do
19
+ # member do
20
+ # get 'short'
21
+ # post 'toggle'
22
+ # end
23
+ #
24
+ # collection do
25
+ # get 'sold'
26
+ # end
27
+ # end
28
+
29
+ # Example resource route with sub-resources:
30
+ # resources :products do
31
+ # resources :comments, :sales
32
+ # resource :seller
33
+ # end
34
+
35
+ # Example resource route with more complex sub-resources:
36
+ # resources :products do
37
+ # resources :comments
38
+ # resources :sales do
39
+ # get 'recent', on: :collection
40
+ # end
41
+ # end
42
+
43
+ # Example resource route with concerns:
44
+ # concern :toggleable do
45
+ # post 'toggle'
46
+ # end
47
+ # resources :posts, concerns: :toggleable
48
+ # resources :photos, concerns: :toggleable
49
+
50
+ # Example resource route within a namespace:
51
+ # namespace :admin do
52
+ # # Directs /admin/products/* to Admin::ProductsController
53
+ # # (app/controllers/admin/products_controller.rb)
54
+ # resources :products
55
+ # end
56
+ end
@@ -0,0 +1,4 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run Rails.application
data/warder.gemspec CHANGED
@@ -24,9 +24,9 @@ Gem::Specification.new do |spec|
24
24
  spec.add_dependency 'ruby2ruby'
25
25
  spec.add_dependency 'flog'
26
26
  spec.add_dependency 'mago'
27
+ spec.add_dependency 'brakeman'
27
28
  spec.add_dependency 'bundler-audit'
28
29
  # spec.add_dependency 'sandi_meter'
29
- # spec.add_dependency 'brakeman'
30
30
  # spec.add_dependency 'rails_best_practices'
31
31
 
32
32
  spec.add_development_dependency 'bundler', '~> 1.3'
@@ -34,4 +34,5 @@ Gem::Specification.new do |spec|
34
34
  spec.add_development_dependency 'rspec', '3.0.0.beta1'
35
35
  spec.add_development_dependency 'cucumber'
36
36
  spec.add_development_dependency 'aruba'
37
+ spec.add_development_dependency 'simplecov'
37
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: warder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yura Tolstik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-04 00:00:00.000000000 Z
11
+ date: 2014-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: brakeman
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: bundler-audit
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -178,6 +192,20 @@ dependencies:
178
192
  - - ">="
179
193
  - !ruby/object:Gem::Version
180
194
  version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: simplecov
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
181
209
  description: Warder of ruby code
182
210
  email:
183
211
  - yltsrc@gmail.com
@@ -194,6 +222,7 @@ files:
194
222
  - Rakefile
195
223
  - bin/warder
196
224
  - cucumber.yml
225
+ - features/checks_for_rails_related_security_issues.feature
197
226
  - features/checks_for_vulnerable_gems.feature
198
227
  - features/detects_code_complexity.feature
199
228
  - features/detects_code_duplication.feature
@@ -201,6 +230,7 @@ files:
201
230
  - features/detects_magick_numbers.feature
202
231
  - features/run.feature
203
232
  - features/show_version.feature
233
+ - features/step_definitions/checks_for_rails_security_issues_steps.rb
204
234
  - features/step_definitions/checks_for_vulnerable_gems_steps.rb
205
235
  - features/step_definitions/detects_code_complexity_steps.rb
206
236
  - features/step_definitions/detects_code_duplication_steps.rb
@@ -214,10 +244,12 @@ files:
214
244
  - lib/warder.rb
215
245
  - lib/warder/bundle_audit_runner.rb
216
246
  - lib/warder/cli.rb
247
+ - lib/warder/cli/arguments.rb
217
248
  - lib/warder/code_complexity_runner.rb
218
249
  - lib/warder/code_duplication_runner.rb
219
250
  - lib/warder/code_smells_runner.rb
220
251
  - lib/warder/magick_numbers_runner.rb
252
+ - lib/warder/rails_security_runner.rb
221
253
  - lib/warder/runner.rb
222
254
  - lib/warder/style_guide_runner.rb
223
255
  - lib/warder/version.rb
@@ -227,11 +259,53 @@ files:
227
259
  - spec/fixtures/invalid_code_duplication.rb
228
260
  - spec/fixtures/invalid_code_smells.rb
229
261
  - spec/fixtures/invalid_magick_numbers.rb
262
+ - spec/fixtures/invalid_rails_app/Gemfile
263
+ - spec/fixtures/invalid_rails_app/Rakefile
264
+ - spec/fixtures/invalid_rails_app/app/controllers/application_controller.rb
265
+ - spec/fixtures/invalid_rails_app/app/views/layouts/application.html.erb
266
+ - spec/fixtures/invalid_rails_app/config.ru
267
+ - spec/fixtures/invalid_rails_app/config/application.rb
268
+ - spec/fixtures/invalid_rails_app/config/boot.rb
269
+ - spec/fixtures/invalid_rails_app/config/database.yml
270
+ - spec/fixtures/invalid_rails_app/config/environment.rb
271
+ - spec/fixtures/invalid_rails_app/config/environments/development.rb
272
+ - spec/fixtures/invalid_rails_app/config/environments/production.rb
273
+ - spec/fixtures/invalid_rails_app/config/environments/test.rb
274
+ - spec/fixtures/invalid_rails_app/config/initializers/backtrace_silencers.rb
275
+ - spec/fixtures/invalid_rails_app/config/initializers/filter_parameter_logging.rb
276
+ - spec/fixtures/invalid_rails_app/config/initializers/inflections.rb
277
+ - spec/fixtures/invalid_rails_app/config/initializers/mime_types.rb
278
+ - spec/fixtures/invalid_rails_app/config/initializers/secret_token.rb
279
+ - spec/fixtures/invalid_rails_app/config/initializers/session_store.rb
280
+ - spec/fixtures/invalid_rails_app/config/initializers/wrap_parameters.rb
281
+ - spec/fixtures/invalid_rails_app/config/locales/en.yml
282
+ - spec/fixtures/invalid_rails_app/config/routes.rb
230
283
  - spec/fixtures/invalid_style_guide.rb
231
284
  - spec/fixtures/strictly_invalid_style_guide.rb
232
285
  - spec/fixtures/valid.rb
233
286
  - spec/fixtures/valid_Gemfile
234
287
  - spec/fixtures/valid_Gemfile.lock
288
+ - spec/fixtures/valid_rails_app/Gemfile
289
+ - spec/fixtures/valid_rails_app/Rakefile
290
+ - spec/fixtures/valid_rails_app/app/controllers/application_controller.rb
291
+ - spec/fixtures/valid_rails_app/app/views/layouts/application.html.erb
292
+ - spec/fixtures/valid_rails_app/config.ru
293
+ - spec/fixtures/valid_rails_app/config/application.rb
294
+ - spec/fixtures/valid_rails_app/config/boot.rb
295
+ - spec/fixtures/valid_rails_app/config/database.yml
296
+ - spec/fixtures/valid_rails_app/config/environment.rb
297
+ - spec/fixtures/valid_rails_app/config/environments/development.rb
298
+ - spec/fixtures/valid_rails_app/config/environments/production.rb
299
+ - spec/fixtures/valid_rails_app/config/environments/test.rb
300
+ - spec/fixtures/valid_rails_app/config/initializers/backtrace_silencers.rb
301
+ - spec/fixtures/valid_rails_app/config/initializers/filter_parameter_logging.rb
302
+ - spec/fixtures/valid_rails_app/config/initializers/inflections.rb
303
+ - spec/fixtures/valid_rails_app/config/initializers/mime_types.rb
304
+ - spec/fixtures/valid_rails_app/config/initializers/secret_token.rb
305
+ - spec/fixtures/valid_rails_app/config/initializers/session_store.rb
306
+ - spec/fixtures/valid_rails_app/config/initializers/wrap_parameters.rb
307
+ - spec/fixtures/valid_rails_app/config/locales/en.yml
308
+ - spec/fixtures/valid_rails_app/config/routes.rb
235
309
  - spec/spec_helper.rb
236
310
  - warder.gemspec
237
311
  homepage: https://github.com/yltsrc/warder
@@ -259,6 +333,7 @@ signing_key:
259
333
  specification_version: 4
260
334
  summary: Warder of ruby code
261
335
  test_files:
336
+ - features/checks_for_rails_related_security_issues.feature
262
337
  - features/checks_for_vulnerable_gems.feature
263
338
  - features/detects_code_complexity.feature
264
339
  - features/detects_code_duplication.feature
@@ -266,6 +341,7 @@ test_files:
266
341
  - features/detects_magick_numbers.feature
267
342
  - features/run.feature
268
343
  - features/show_version.feature
344
+ - features/step_definitions/checks_for_rails_security_issues_steps.rb
269
345
  - features/step_definitions/checks_for_vulnerable_gems_steps.rb
270
346
  - features/step_definitions/detects_code_complexity_steps.rb
271
347
  - features/step_definitions/detects_code_duplication_steps.rb
@@ -282,9 +358,51 @@ test_files:
282
358
  - spec/fixtures/invalid_code_duplication.rb
283
359
  - spec/fixtures/invalid_code_smells.rb
284
360
  - spec/fixtures/invalid_magick_numbers.rb
361
+ - spec/fixtures/invalid_rails_app/Gemfile
362
+ - spec/fixtures/invalid_rails_app/Rakefile
363
+ - spec/fixtures/invalid_rails_app/app/controllers/application_controller.rb
364
+ - spec/fixtures/invalid_rails_app/app/views/layouts/application.html.erb
365
+ - spec/fixtures/invalid_rails_app/config.ru
366
+ - spec/fixtures/invalid_rails_app/config/application.rb
367
+ - spec/fixtures/invalid_rails_app/config/boot.rb
368
+ - spec/fixtures/invalid_rails_app/config/database.yml
369
+ - spec/fixtures/invalid_rails_app/config/environment.rb
370
+ - spec/fixtures/invalid_rails_app/config/environments/development.rb
371
+ - spec/fixtures/invalid_rails_app/config/environments/production.rb
372
+ - spec/fixtures/invalid_rails_app/config/environments/test.rb
373
+ - spec/fixtures/invalid_rails_app/config/initializers/backtrace_silencers.rb
374
+ - spec/fixtures/invalid_rails_app/config/initializers/filter_parameter_logging.rb
375
+ - spec/fixtures/invalid_rails_app/config/initializers/inflections.rb
376
+ - spec/fixtures/invalid_rails_app/config/initializers/mime_types.rb
377
+ - spec/fixtures/invalid_rails_app/config/initializers/secret_token.rb
378
+ - spec/fixtures/invalid_rails_app/config/initializers/session_store.rb
379
+ - spec/fixtures/invalid_rails_app/config/initializers/wrap_parameters.rb
380
+ - spec/fixtures/invalid_rails_app/config/locales/en.yml
381
+ - spec/fixtures/invalid_rails_app/config/routes.rb
285
382
  - spec/fixtures/invalid_style_guide.rb
286
383
  - spec/fixtures/strictly_invalid_style_guide.rb
287
384
  - spec/fixtures/valid.rb
288
385
  - spec/fixtures/valid_Gemfile
289
386
  - spec/fixtures/valid_Gemfile.lock
387
+ - spec/fixtures/valid_rails_app/Gemfile
388
+ - spec/fixtures/valid_rails_app/Rakefile
389
+ - spec/fixtures/valid_rails_app/app/controllers/application_controller.rb
390
+ - spec/fixtures/valid_rails_app/app/views/layouts/application.html.erb
391
+ - spec/fixtures/valid_rails_app/config.ru
392
+ - spec/fixtures/valid_rails_app/config/application.rb
393
+ - spec/fixtures/valid_rails_app/config/boot.rb
394
+ - spec/fixtures/valid_rails_app/config/database.yml
395
+ - spec/fixtures/valid_rails_app/config/environment.rb
396
+ - spec/fixtures/valid_rails_app/config/environments/development.rb
397
+ - spec/fixtures/valid_rails_app/config/environments/production.rb
398
+ - spec/fixtures/valid_rails_app/config/environments/test.rb
399
+ - spec/fixtures/valid_rails_app/config/initializers/backtrace_silencers.rb
400
+ - spec/fixtures/valid_rails_app/config/initializers/filter_parameter_logging.rb
401
+ - spec/fixtures/valid_rails_app/config/initializers/inflections.rb
402
+ - spec/fixtures/valid_rails_app/config/initializers/mime_types.rb
403
+ - spec/fixtures/valid_rails_app/config/initializers/secret_token.rb
404
+ - spec/fixtures/valid_rails_app/config/initializers/session_store.rb
405
+ - spec/fixtures/valid_rails_app/config/initializers/wrap_parameters.rb
406
+ - spec/fixtures/valid_rails_app/config/locales/en.yml
407
+ - spec/fixtures/valid_rails_app/config/routes.rb
290
408
  - spec/spec_helper.rb