railroader 4.3.5 → 4.3.7

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 (107) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +16 -0
  3. data/README.md +15 -0
  4. data/bin/railroader +1 -1
  5. data/lib/railroader/call_index.rb +11 -11
  6. data/lib/railroader/checks/base_check.rb +43 -43
  7. data/lib/railroader/checks/check_basic_auth.rb +3 -3
  8. data/lib/railroader/checks/check_content_tag.rb +9 -9
  9. data/lib/railroader/checks/check_create_with.rb +2 -2
  10. data/lib/railroader/checks/check_cross_site_scripting.rb +24 -24
  11. data/lib/railroader/checks/check_default_routes.rb +5 -5
  12. data/lib/railroader/checks/check_deserialize.rb +1 -1
  13. data/lib/railroader/checks/check_dynamic_finders.rb +1 -1
  14. data/lib/railroader/checks/check_escape_function.rb +3 -3
  15. data/lib/railroader/checks/check_evaluation.rb +4 -4
  16. data/lib/railroader/checks/check_execute.rb +8 -8
  17. data/lib/railroader/checks/check_file_access.rb +2 -2
  18. data/lib/railroader/checks/check_filter_skipping.rb +2 -2
  19. data/lib/railroader/checks/check_forgery_setting.rb +3 -3
  20. data/lib/railroader/checks/check_jruby_xml.rb +1 -1
  21. data/lib/railroader/checks/check_json_parsing.rb +2 -2
  22. data/lib/railroader/checks/check_link_to.rb +12 -12
  23. data/lib/railroader/checks/check_link_to_href.rb +9 -9
  24. data/lib/railroader/checks/check_mail_to.rb +4 -4
  25. data/lib/railroader/checks/check_mass_assignment.rb +5 -5
  26. data/lib/railroader/checks/check_model_attributes.rb +6 -6
  27. data/lib/railroader/checks/check_model_serialize.rb +2 -2
  28. data/lib/railroader/checks/check_nested_attributes.rb +2 -2
  29. data/lib/railroader/checks/check_nested_attributes_bypass.rb +1 -1
  30. data/lib/railroader/checks/check_quote_table_name.rb +3 -3
  31. data/lib/railroader/checks/check_redirect.rb +19 -19
  32. data/lib/railroader/checks/check_regex_dos.rb +3 -3
  33. data/lib/railroader/checks/check_render.rb +4 -4
  34. data/lib/railroader/checks/check_response_splitting.rb +2 -2
  35. data/lib/railroader/checks/check_safe_buffer_manipulation.rb +4 -4
  36. data/lib/railroader/checks/check_sanitize_methods.rb +2 -2
  37. data/lib/railroader/checks/check_select_tag.rb +4 -4
  38. data/lib/railroader/checks/check_select_vulnerability.rb +3 -3
  39. data/lib/railroader/checks/check_send.rb +1 -1
  40. data/lib/railroader/checks/check_send_file.rb +1 -1
  41. data/lib/railroader/checks/check_session_settings.rb +10 -10
  42. data/lib/railroader/checks/check_single_quotes.rb +8 -8
  43. data/lib/railroader/checks/check_skip_before_filter.rb +5 -5
  44. data/lib/railroader/checks/check_sql.rb +41 -41
  45. data/lib/railroader/checks/check_strip_tags.rb +6 -6
  46. data/lib/railroader/checks/check_symbol_dos_cve.rb +0 -1
  47. data/lib/railroader/checks/check_translate_bug.rb +4 -4
  48. data/lib/railroader/checks/check_unsafe_reflection.rb +1 -1
  49. data/lib/railroader/checks/check_validation_regex.rb +7 -7
  50. data/lib/railroader/checks/check_weak_hash.rb +1 -1
  51. data/lib/railroader/checks/check_without_protection.rb +9 -9
  52. data/lib/railroader/checks/check_yaml_parsing.rb +5 -5
  53. data/lib/railroader/checks.rb +18 -18
  54. data/lib/railroader/commandline.rb +1 -1
  55. data/lib/railroader/differ.rb +2 -2
  56. data/lib/railroader/options.rb +7 -7
  57. data/lib/railroader/parsers/rails2_erubis.rb +1 -1
  58. data/lib/railroader/parsers/rails2_xss_plugin_erubis.rb +4 -4
  59. data/lib/railroader/parsers/template_parser.rb +1 -1
  60. data/lib/railroader/processor.rb +17 -17
  61. data/lib/railroader/processors/alias_processor.rb +72 -72
  62. data/lib/railroader/processors/base_processor.rb +31 -31
  63. data/lib/railroader/processors/controller_alias_processor.rb +31 -31
  64. data/lib/railroader/processors/controller_processor.rb +29 -29
  65. data/lib/railroader/processors/erb_template_processor.rb +8 -8
  66. data/lib/railroader/processors/erubis_template_processor.rb +6 -6
  67. data/lib/railroader/processors/gem_processor.rb +1 -1
  68. data/lib/railroader/processors/haml_template_processor.rb +14 -14
  69. data/lib/railroader/processors/lib/call_conversion_helper.rb +1 -1
  70. data/lib/railroader/processors/lib/find_all_calls.rb +15 -15
  71. data/lib/railroader/processors/lib/find_call.rb +26 -26
  72. data/lib/railroader/processors/lib/find_return_value.rb +11 -11
  73. data/lib/railroader/processors/lib/module_helper.rb +1 -1
  74. data/lib/railroader/processors/lib/processor_helper.rb +4 -4
  75. data/lib/railroader/processors/lib/rails2_config_processor.rb +20 -20
  76. data/lib/railroader/processors/lib/rails2_route_processor.rb +38 -38
  77. data/lib/railroader/processors/lib/rails3_config_processor.rb +14 -14
  78. data/lib/railroader/processors/lib/rails3_route_processor.rb +16 -16
  79. data/lib/railroader/processors/lib/render_helper.rb +32 -32
  80. data/lib/railroader/processors/lib/route_helper.rb +12 -12
  81. data/lib/railroader/processors/library_processor.rb +1 -1
  82. data/lib/railroader/processors/model_processor.rb +9 -9
  83. data/lib/railroader/processors/output_processor.rb +3 -3
  84. data/lib/railroader/processors/slim_template_processor.rb +4 -4
  85. data/lib/railroader/processors/template_alias_processor.rb +10 -10
  86. data/lib/railroader/processors/template_processor.rb +7 -7
  87. data/lib/railroader/report/renderer.rb +1 -1
  88. data/lib/railroader/report/report_base.rb +12 -12
  89. data/lib/railroader/report/report_csv.rb +2 -2
  90. data/lib/railroader/report/report_html.rb +5 -5
  91. data/lib/railroader/report/report_markdown.rb +2 -2
  92. data/lib/railroader/report/report_table.rb +3 -3
  93. data/lib/railroader/report/report_tabs.rb +2 -2
  94. data/lib/railroader/report/report_text.rb +3 -4
  95. data/lib/railroader/report.rb +3 -3
  96. data/lib/railroader/rescanner.rb +36 -36
  97. data/lib/railroader/scanner.rb +23 -23
  98. data/lib/railroader/tracker/config.rb +3 -3
  99. data/lib/railroader/tracker/controller.rb +2 -2
  100. data/lib/railroader/tracker.rb +42 -42
  101. data/lib/railroader/util.rb +47 -47
  102. data/lib/railroader/version.rb +1 -1
  103. data/lib/railroader/warning.rb +9 -10
  104. data/lib/railroader.rb +32 -32
  105. data/lib/ruby_parser/bm_sexp.rb +63 -63
  106. data/lib/ruby_parser/bm_sexp_processor.rb +3 -3
  107. metadata +4 -4
@@ -8,7 +8,7 @@ class Railroader::Report::HTML < Railroader::Report::Base
8
8
  def initialize *args
9
9
  super
10
10
 
11
- @element_id = 0 #Used for HTML ids
11
+ @element_id = 0 # Used for HTML ids
12
12
  end
13
13
 
14
14
  def generate_report
@@ -42,7 +42,7 @@ class Railroader::Report::HTML < Railroader::Report::Base
42
42
  Railroader::Report::Renderer.new('overview', :locals => locals).render
43
43
  end
44
44
 
45
- #Generate listings of templates and their output
45
+ # Generate listings of templates and their output
46
46
  def generate_templates
47
47
  out_processor = Railroader::OutputProcessor.new
48
48
  template_rows = {}
@@ -92,7 +92,7 @@ class Railroader::Report::HTML < Railroader::Report::Base
92
92
  warning
93
93
  end
94
94
 
95
- #Return header for HTML output. Uses CSS from tracker.options[:html_style]
95
+ # Return header for HTML output. Uses CSS from tracker.options[:html_style]
96
96
  def html_header
97
97
  if File.exist? tracker.options[:html_style]
98
98
  css = File.read tracker.options[:html_style]
@@ -111,7 +111,7 @@ class Railroader::Report::HTML < Railroader::Report::Base
111
111
  Railroader::Report::Renderer.new('header', :locals => locals).render
112
112
  end
113
113
 
114
- #Generate HTML for warnings, including context show/hidden via Javascript
114
+ # Generate HTML for warnings, including context show/hidden via Javascript
115
115
  def with_context warning, message
116
116
  context = context_for(@app_tree, warning)
117
117
  full_message = nil
@@ -197,7 +197,7 @@ class Railroader::Report::HTML < Railroader::Report::Base
197
197
  output << "</tbody></table></div>"
198
198
  end
199
199
 
200
- #Escape warning message and highlight user input in HTML output
200
+ # Escape warning message and highlight user input in HTML output
201
201
  def html_message warning, message
202
202
  message = CGI.escapeHTML(message)
203
203
 
@@ -34,7 +34,7 @@ class Railroader::Report::Markdown < Railroader::Report::Table
34
34
  generate_overview.to_s << "\n\n" <<
35
35
  generate_warning_overview.to_s << "\n\n"
36
36
 
37
- #Return output early if only summarizing
37
+ # Return output early if only summarizing
38
38
  return out if tracker.options[:summary_only]
39
39
 
40
40
  if tracker.options[:report_routes] or tracker.options[:debug]
@@ -98,7 +98,7 @@ class Railroader::Report::Markdown < Railroader::Report::Table
98
98
  end
99
99
  if warning.code
100
100
  code = warning.format_code
101
- message.gsub(code, "`#{code.gsub('`','``').gsub(/\A``|``\z/, '` `')}`")
101
+ message.gsub(code, "`#{code.gsub('`', '``').gsub(/\A``|``\z/, '` `')}`")
102
102
  else
103
103
  message
104
104
  end
@@ -17,7 +17,7 @@ class Railroader::Report::Table < Railroader::Report::Base
17
17
  truncate_table(generate_warning_overview.to_s) << "\n"
18
18
  end
19
19
 
20
- #Return output early if only summarizing
20
+ # Return output early if only summarizing
21
21
  if summary_option == :summary_only or summary_option == true
22
22
  return out
23
23
  end
@@ -62,7 +62,7 @@ class Railroader::Report::Table < Railroader::Report::Base
62
62
  end
63
63
  end
64
64
 
65
- #Generate listings of templates and their output
65
+ # Generate listings of templates and their output
66
66
  def generate_templates
67
67
  out_processor = Railroader::OutputProcessor.new
68
68
  template_rows = {}
@@ -100,7 +100,7 @@ class Railroader::Report::Table < Railroader::Report::Base
100
100
  end
101
101
  end
102
102
 
103
- #Generate header for text output
103
+ # Generate header for text output
104
104
  def text_header
105
105
  <<-HEADER
106
106
 
@@ -1,5 +1,5 @@
1
- #Generated tab-separated output suitable for the Jenkins Railroader Plugin:
2
- #https://github.com/presidentbeef/railroader-jenkins-plugin
1
+ # Generated tab-separated output suitable for the Jenkins Railroader Plugin:
2
+ # https://github.com/presidentbeef/railroader-jenkins-plugin
3
3
  class Railroader::Report::Tabs < Railroader::Report::Base
4
4
  def generate_report
5
5
  [[:generic_warnings, "General"], [:controller_warnings, "Controller"],
@@ -19,7 +19,7 @@ class Railroader::Report::Text < Railroader::Report::Base
19
19
  add_chunk generate_controllers if tracker.options[:debug] or tracker.options[:report_routes]
20
20
  add_chunk generate_templates if tracker.options[:debug]
21
21
  add_chunk generate_obsolete
22
- add_chunk generate_errors
22
+ add_chunk generate_errors
23
23
  add_chunk generate_warnings
24
24
  end
25
25
 
@@ -35,7 +35,7 @@ class Railroader::Report::Text < Railroader::Report::Base
35
35
 
36
36
  def generate_header
37
37
  [
38
- header("Railroader Report"),
38
+ header("Railroader Report"),
39
39
  label("Application Path", tracker.app_path),
40
40
  label("Rails Version", rails_version),
41
41
  label("Railroader Version", Railroader::Version),
@@ -92,7 +92,7 @@ class Railroader::Report::Text < Railroader::Report::Base
92
92
  errors = tracker.errors.map do |e|
93
93
  trace = if full_trace
94
94
  e[:backtrace].join("\n")
95
- else
95
+ else
96
96
  e[:backtrace][0]
97
97
  end
98
98
 
@@ -195,4 +195,3 @@ class Railroader::Report::Text < Railroader::Report::Base
195
195
  double_space "Controller Overview", controllers
196
196
  end
197
197
  end
198
-
@@ -1,8 +1,8 @@
1
1
  require 'railroader/report/report_base'
2
2
 
3
- #Generates a report based on the Tracker and the results of
4
- #Tracker#run_checks. Be sure to +run_checks+ before generating
5
- #a report.
3
+ # Generates a report based on the Tracker and the results of
4
+ # Tracker#run_checks. Be sure to +run_checks+ before generating
5
+ # a report.
6
6
  class Railroader::Report
7
7
  attr_reader :tracker
8
8
 
@@ -2,25 +2,25 @@ require 'railroader/scanner'
2
2
  require 'railroader/util'
3
3
  require 'railroader/differ'
4
4
 
5
- #Class for rescanning changed files after an initial scan
5
+ # Class for rescanning changed files after an initial scan
6
6
  class Railroader::Rescanner < Railroader::Scanner
7
7
  include Railroader::Util
8
8
  KNOWN_TEMPLATE_EXTENSIONS = Railroader::TemplateParser::KNOWN_TEMPLATE_EXTENSIONS
9
9
  SCAN_ORDER = [:config, :gemfile, :initializer, :lib, :routes, :template,
10
10
  :model, :controller]
11
11
 
12
- #Create new Rescanner to scan changed files
12
+ # Create new Rescanner to scan changed files
13
13
  def initialize options, processor, changed_files
14
14
  super(options, processor)
15
15
 
16
16
  @paths = changed_files.map {|f| @app_tree.expand_path(f) }
17
- @old_results = tracker.filtered_warnings #Old warnings from previous scan
18
- @changes = nil #True if files had to be rescanned
17
+ @old_results = tracker.filtered_warnings # Old warnings from previous scan
18
+ @changes = nil # True if files had to be rescanned
19
19
  @reindex = Set.new
20
20
  end
21
21
 
22
- #Runs checks.
23
- #Will rescan files if they have not already been scanned
22
+ # Runs checks.
23
+ # Will rescan files if they have not already been scanned
24
24
  def recheck
25
25
  rescan if @changes.nil?
26
26
 
@@ -29,7 +29,7 @@ class Railroader::Rescanner < Railroader::Scanner
29
29
  Railroader::RescanReport.new @old_results, tracker
30
30
  end
31
31
 
32
- #Rescans changed files
32
+ # Rescans changed files
33
33
  def rescan
34
34
  tracker.template_cache.clear
35
35
 
@@ -63,7 +63,7 @@ class Railroader::Rescanner < Railroader::Scanner
63
63
  self
64
64
  end
65
65
 
66
- #Rescans a single file
66
+ # Rescans a single file
67
67
  def rescan_file path, type = nil
68
68
  type ||= file_type path
69
69
 
@@ -93,7 +93,7 @@ class Railroader::Rescanner < Railroader::Scanner
93
93
 
94
94
  process_gems
95
95
  else
96
- return false #Nothing to do, file hopefully does not need to be rescanned
96
+ return false # Nothing to do, file hopefully does not need to be rescanned
97
97
  end
98
98
 
99
99
  true
@@ -106,8 +106,8 @@ class Railroader::Rescanner < Railroader::Scanner
106
106
  process_controller astfile
107
107
  end
108
108
 
109
- #Process data flow and template rendering
110
- #from the controller
109
+ # Process data flow and template rendering
110
+ # from the controller
111
111
  tracker.controllers.each do |name, controller|
112
112
  if controller.files.include?(path)
113
113
  tracker.templates.each do |template_name, template|
@@ -141,8 +141,8 @@ class Railroader::Rescanner < Railroader::Scanner
141
141
 
142
142
  rescan = Set.new
143
143
 
144
- #Search for processed template and process it.
145
- #Search for rendered versions of template and re-render (if necessary)
144
+ # Search for processed template and process it.
145
+ # Search for rendered versions of template and re-render (if necessary)
146
146
  tracker.templates.each do |_name, template|
147
147
  if template.file == path or template.file.nil?
148
148
  next unless template.render_path and template.name.to_sym == template_name.to_sym
@@ -185,7 +185,7 @@ class Railroader::Rescanner < Railroader::Scanner
185
185
  process_model astfile.path, astfile.ast
186
186
  end
187
187
 
188
- #Only need to rescan other things if a model is added or removed
188
+ # Only need to rescan other things if a model is added or removed
189
189
  if num_models != tracker.models.length
190
190
  process_template_data_flows
191
191
  process_controller_data_flows
@@ -231,7 +231,7 @@ class Railroader::Rescanner < Railroader::Scanner
231
231
  end
232
232
  end
233
233
 
234
- #Handle rescanning when a file is deleted
234
+ # Handle rescanning when a file is deleted
235
235
  def rescan_deleted_file path, type
236
236
  case type
237
237
  when :controller
@@ -260,13 +260,13 @@ class Railroader::Rescanner < Railroader::Scanner
260
260
 
261
261
  template_name = template_path_to_name(path)
262
262
 
263
- #Remove template
263
+ # Remove template
264
264
  tracker.reset_template template_name
265
265
 
266
266
  rendered_from_controller = /^#{template_name}\.(.+Controller)#(.+)/
267
267
  rendered_from_view = /^#{template_name}\.Template:(.+)/
268
268
 
269
- #Remove any rendered versions, or partials rendered from it
269
+ # Remove any rendered versions, or partials rendered from it
270
270
  tracker.templates.delete_if do |_name, template|
271
271
  template.file == path or template.name.to_sym == template_name.to_sym
272
272
  end
@@ -289,8 +289,8 @@ class Railroader::Rescanner < Railroader::Scanner
289
289
  tracker.initializers.delete Pathname.new(path).basename.to_s
290
290
  end
291
291
 
292
- #Check controllers, templates, models and libs for data from file
293
- #and delete it.
292
+ # Check controllers, templates, models and libs for data from file
293
+ # and delete it.
294
294
  def remove_deleted_file path
295
295
  deleted = false
296
296
 
@@ -313,7 +313,7 @@ class Railroader::Rescanner < Railroader::Scanner
313
313
  deleted
314
314
  end
315
315
 
316
- #Guess at what kind of file the path contains
316
+ # Guess at what kind of file the path contains
317
317
  def file_type path
318
318
  case path
319
319
  when /\/app\/controllers/
@@ -346,7 +346,7 @@ class Railroader::Rescanner < Railroader::Scanner
346
346
 
347
347
  to_rescan = []
348
348
 
349
- #Rescan controllers that mixed in library
349
+ # Rescan controllers that mixed in library
350
350
  tracker.controllers.each do |_name, controller|
351
351
  if controller.includes.include? lib.name
352
352
  controller.files.each do |path|
@@ -364,9 +364,9 @@ class Railroader::Rescanner < Railroader::Scanner
364
364
 
365
365
  to_rescan = []
366
366
 
367
- #Check if a method from this mixin was used to render a template.
368
- #This is not precise, because a different controller might have the
369
- #same method...
367
+ # Check if a method from this mixin was used to render a template.
368
+ # This is not precise, because a different controller might have the
369
+ # same method...
370
370
  tracker.templates.each do |name, template|
371
371
  next unless template.render_path
372
372
 
@@ -395,7 +395,7 @@ class Railroader::Rescanner < Railroader::Scanner
395
395
  end
396
396
  end
397
397
 
398
- #Class to make reporting of rescan results simpler to deal with
398
+ # Class to make reporting of rescan results simpler to deal with
399
399
  class Railroader::RescanReport
400
400
  include Railroader::Util
401
401
  attr_reader :old_results, :new_results
@@ -407,46 +407,46 @@ class Railroader::RescanReport
407
407
  @diff = nil
408
408
  end
409
409
 
410
- #Returns true if any warnings were found (new or old)
410
+ # Returns true if any warnings were found (new or old)
411
411
  def any_warnings?
412
412
  not all_warnings.empty?
413
413
  end
414
414
 
415
- #Returns an array of all warnings found
415
+ # Returns an array of all warnings found
416
416
  def all_warnings
417
417
  @all_warnings ||= @tracker.filtered_warnings
418
418
  end
419
419
 
420
- #Returns an array of warnings which were in the old report but are not in the
421
- #new report after rescanning
420
+ # Returns an array of warnings which were in the old report but are not in the
421
+ # new report after rescanning
422
422
  def fixed_warnings
423
423
  diff[:fixed]
424
424
  end
425
425
 
426
- #Returns an array of warnings which were in the new report but were not in
427
- #the old report
426
+ # Returns an array of warnings which were in the new report but were not in
427
+ # the old report
428
428
  def new_warnings
429
429
  diff[:new]
430
430
  end
431
431
 
432
- #Returns true if there are any new or fixed warnings
432
+ # Returns true if there are any new or fixed warnings
433
433
  def warnings_changed?
434
434
  not (diff[:new].empty? and diff[:fixed].empty?)
435
435
  end
436
436
 
437
- #Returns a hash of arrays for :new and :fixed warnings
437
+ # Returns a hash of arrays for :new and :fixed warnings
438
438
  def diff
439
439
  @diff ||= Railroader::Differ.new(all_warnings, @old_results).diff
440
440
  end
441
441
 
442
- #Returns an array of warnings which were in the old report and the new report
442
+ # Returns an array of warnings which were in the old report and the new report
443
443
  def existing_warnings
444
444
  @old ||= all_warnings.select do |w|
445
445
  not new_warnings.include? w
446
446
  end
447
447
  end
448
448
 
449
- #Output total, fixed, and new warnings
449
+ # Output total, fixed, and new warnings
450
450
  def to_s(verbose = false)
451
451
  Railroader.load_railroader_dependency 'terminal-table'
452
452
 
@@ -457,7 +457,7 @@ Fixed warnings: #{fixed_warnings.length}
457
457
  New warnings: #{new_warnings.length}
458
458
  OUTPUT
459
459
  else
460
- #Eventually move this to different method, or make default to_s
460
+ # Eventually move this to different method, or make default to_s
461
461
  out = ""
462
462
 
463
463
  {:fixed => fixed_warnings, :new => new_warnings, :existing => existing_warnings}.each do |warning_type, warnings|
@@ -12,12 +12,12 @@ rescue LoadError => e
12
12
  exit(-1)
13
13
  end
14
14
 
15
- #Scans the Rails application.
15
+ # Scans the Rails application.
16
16
  class Railroader::Scanner
17
17
  attr_reader :options
18
18
  RUBY_1_9 = RUBY_VERSION >= "1.9.0"
19
19
 
20
- #Pass in path to the root of the Rails application
20
+ # Pass in path to the root of the Rails application
21
21
  def initialize options, processor = nil
22
22
  @options = options
23
23
  @app_tree = Railroader::AppTree.from_options(options)
@@ -29,12 +29,12 @@ class Railroader::Scanner
29
29
  @processor = processor || Railroader::Processor.new(@app_tree, options)
30
30
  end
31
31
 
32
- #Returns the Tracker generated from the scan
32
+ # Returns the Tracker generated from the scan
33
33
  def tracker
34
34
  @processor.tracked_events
35
35
  end
36
36
 
37
- #Process everything in the Rails application
37
+ # Process everything in the Rails application
38
38
  def process
39
39
  Railroader.notify "Processing gems..."
40
40
  process_gems
@@ -90,9 +90,9 @@ class Railroader::Scanner
90
90
  @file_list = fp.file_list
91
91
  end
92
92
 
93
- #Process config/environment.rb and config/gems.rb
93
+ # Process config/environment.rb and config/gems.rb
94
94
  #
95
- #Stores parsed information in tracker.config
95
+ # Stores parsed information in tracker.config
96
96
  def process_config
97
97
  if options[:rails3] or options[:rails4] or options[:rails5]
98
98
  process_config_file "application.rb"
@@ -128,7 +128,7 @@ class Railroader::Scanner
128
128
 
129
129
  private :process_config_file
130
130
 
131
- #Process Gemfile
131
+ # Process Gemfile
132
132
  def process_gems
133
133
  gem_files = {}
134
134
  if @app_tree.exists? "Gemfile"
@@ -151,7 +151,7 @@ class Railroader::Scanner
151
151
  tracker.error e.exception(e.message + "\nWhile processing Gemfile"), e.backtrace
152
152
  end
153
153
 
154
- #Set :rails3/:rails4 option if version was not determined from Gemfile
154
+ # Set :rails3/:rails4 option if version was not determined from Gemfile
155
155
  def guess_rails_version
156
156
  unless tracker.options[:rails3] or tracker.options[:rails4]
157
157
  if @app_tree.exists?("script/rails")
@@ -170,9 +170,9 @@ class Railroader::Scanner
170
170
  end
171
171
  end
172
172
 
173
- #Process all the .rb files in config/initializers/
173
+ # Process all the .rb files in config/initializers/
174
174
  #
175
- #Adds parsed information to tracker.initializers
175
+ # Adds parsed information to tracker.initializers
176
176
  def process_initializers
177
177
  track_progress @file_list[:initializers] do |init|
178
178
  Railroader.debug "Processing #{init[:path]}"
@@ -180,14 +180,14 @@ class Railroader::Scanner
180
180
  end
181
181
  end
182
182
 
183
- #Process an initializer
183
+ # Process an initializer
184
184
  def process_initializer init
185
185
  @processor.process_initializer(init.path, init.ast)
186
186
  end
187
187
 
188
- #Process all .rb in lib/
188
+ # Process all .rb in lib/
189
189
  #
190
- #Adds parsed information to tracker.libs.
190
+ # Adds parsed information to tracker.libs.
191
191
  def process_libs
192
192
  if options[:skip_libs]
193
193
  Railroader.notify '[Skipping]'
@@ -200,14 +200,14 @@ class Railroader::Scanner
200
200
  end
201
201
  end
202
202
 
203
- #Process a library
203
+ # Process a library
204
204
  def process_lib lib
205
205
  @processor.process_lib lib.ast, lib.path
206
206
  end
207
207
 
208
- #Process config/routes.rb
208
+ # Process config/routes.rb
209
209
  #
210
- #Adds parsed information to tracker.routes
210
+ # Adds parsed information to tracker.routes
211
211
  def process_routes
212
212
  if @app_tree.exists?("config/routes.rb")
213
213
  begin
@@ -222,9 +222,9 @@ class Railroader::Scanner
222
222
  end
223
223
  end
224
224
 
225
- #Process all .rb files in controllers/
225
+ # Process all .rb files in controllers/
226
226
  #
227
- #Adds processed controllers to tracker.controllers
227
+ # Adds processed controllers to tracker.controllers
228
228
  def process_controllers
229
229
  track_progress @file_list[:controllers] do |controller|
230
230
  Railroader.debug "Processing #{controller.path}"
@@ -242,7 +242,7 @@ class Railroader::Scanner
242
242
  end
243
243
  end
244
244
 
245
- #No longer need these processed filter methods
245
+ # No longer need these processed filter methods
246
246
  tracker.filter_cache.clear
247
247
  end
248
248
 
@@ -254,9 +254,9 @@ class Railroader::Scanner
254
254
  end
255
255
  end
256
256
 
257
- #Process all views and partials in views/
257
+ # Process all views and partials in views/
258
258
  #
259
- #Adds processed views to tracker.views
259
+ # Adds processed views to tracker.views
260
260
  def process_templates
261
261
  templates = @file_list[:templates].sort_by { |t| t[:path] }
262
262
 
@@ -279,9 +279,9 @@ class Railroader::Scanner
279
279
  end
280
280
  end
281
281
 
282
- #Process all the .rb files in models/
282
+ # Process all the .rb files in models/
283
283
  #
284
- #Adds the processed models to tracker.models
284
+ # Adds the processed models to tracker.models
285
285
  def process_models
286
286
  track_progress @file_list[:models] do |model|
287
287
  Railroader.debug "Processing #{model[:path]}"
@@ -47,7 +47,7 @@ module Railroader
47
47
  end
48
48
 
49
49
  def escape_html_entities_in_json?
50
- #TODO add version-specific information here
50
+ # TODO add version-specific information here
51
51
  @rails[:active_support] and
52
52
  true? @rails[:active_support][:escape_html_entities_in_json]
53
53
  end
@@ -115,9 +115,9 @@ module Railroader
115
115
  end
116
116
  end
117
117
 
118
- #Returns true if low_version <= RAILS_VERSION <= high_version
118
+ # Returns true if low_version <= RAILS_VERSION <= high_version
119
119
  #
120
- #If the Rails version is unknown, returns false.
120
+ # If the Rails version is unknown, returns false.
121
121
  def version_between? low_version, high_version, current_version = nil
122
122
  current_version ||= rails_version
123
123
  return false unless current_version
@@ -106,8 +106,8 @@ module Railroader
106
106
  def before_filter_to_hash processor, args
107
107
  filter = {}
108
108
 
109
- #Process args for the uncommon but possible situation
110
- #in which some variables are used in the filter.
109
+ # Process args for the uncommon but possible situation
110
+ # in which some variables are used in the filter.
111
111
  args.each do |a|
112
112
  if sexp? a
113
113
  a = processor.process_default a