Class: RuboCop::Formatter::ExtensionReviewFormatter
- Defined in:
- lib/rubocop/sketchup/formatter/extension_review.rb
Overview
This formatter saves the output as an html file.
Defined Under Namespace
Classes: Color, ERBContext
Constant Summary collapse
- ELLIPSES =
'<span class="extra-code">...</span>'
- TEMPLATE_PATH =
File.('../../../../assets/output.html.erb', __dir__)
Instance Attribute Summary collapse
-
#categories ⇒ Object
readonly
Returns the value of attribute categories.
-
#files ⇒ Object
readonly
Returns the value of attribute files.
-
#summary ⇒ Object
readonly
Returns the value of attribute summary.
Instance Method Summary collapse
- #file_finished(file, offenses) ⇒ Object
- #finished(inspected_files) ⇒ Object
-
#initialize(output, options = {}) ⇒ ExtensionReviewFormatter
constructor
A new instance of ExtensionReviewFormatter.
- #render_html ⇒ Object
- #started(target_files) ⇒ Object
Constructor Details
#initialize(output, options = {}) ⇒ ExtensionReviewFormatter
Returns a new instance of ExtensionReviewFormatter.
31 32 33 34 35 36 |
# File 'lib/rubocop/sketchup/formatter/extension_review.rb', line 31 def initialize(output, = {}) super @categories = {} @files = [] @summary = OpenStruct.new(offense_count: 0) end |
Instance Attribute Details
#categories ⇒ Object (readonly)
Returns the value of attribute categories.
29 30 31 |
# File 'lib/rubocop/sketchup/formatter/extension_review.rb', line 29 def categories @categories end |
#files ⇒ Object (readonly)
Returns the value of attribute files.
29 30 31 |
# File 'lib/rubocop/sketchup/formatter/extension_review.rb', line 29 def files @files end |
#summary ⇒ Object (readonly)
Returns the value of attribute summary.
29 30 31 |
# File 'lib/rubocop/sketchup/formatter/extension_review.rb', line 29 def summary @summary end |
Instance Method Details
#file_finished(file, offenses) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/rubocop/sketchup/formatter/extension_review.rb', line 42 def file_finished(file, offenses) files << file offenses.each { |offense| # Report only SketchUp related cops. next unless offense.cop_name.start_with?('Sketchup') report = OpenStruct.new(path: file, offense: offense) categories[offense.cop_name] ||= [] categories[offense.cop_name] << report summary.offense_count += 1 } end |
#finished(inspected_files) ⇒ Object
55 56 57 58 59 |
# File 'lib/rubocop/sketchup/formatter/extension_review.rb', line 55 def finished(inspected_files) summary.inspected_files = inspected_files render_html end |
#render_html ⇒ Object
61 62 63 64 65 66 67 68 69 |
# File 'lib/rubocop/sketchup/formatter/extension_review.rb', line 61 def render_html context = ERBContext.new(categories, files, summary) template = File.read(TEMPLATE_PATH, encoding: Encoding::UTF_8) erb = ERB.new(template, nil, '-') html = erb.result(context.binding) output.write html end |
#started(target_files) ⇒ Object
38 39 40 |
# File 'lib/rubocop/sketchup/formatter/extension_review.rb', line 38 def started(target_files) summary.target_files = target_files end |