warder 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
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