class Railroader::Report
Generates a report based on the Tracker and the results of Tracker#run_checks. Be sure to run_checks
before generating a report.
Constants
- VALID_FORMATS
Attributes
tracker[R]
Public Class Methods
new(app_tree, tracker)
click to toggle source
# File lib/railroader/report.rb, line 11 def initialize app_tree, tracker @app_tree = app_tree @tracker = tracker end
Public Instance Methods
format(format)
click to toggle source
# File lib/railroader/report.rb, line 16 def format format reporter = case format when :to_codeclimate require_report 'codeclimate' Railroader::Report::CodeClimate when :to_csv require_report 'csv' Railroader::Report::CSV when :to_html require_report 'html' Railroader::Report::HTML when :to_json return self.to_json when :to_tabs require_report 'tabs' Railroader::Report::Tabs when :to_hash require_report 'hash' Railroader::Report::Hash when :to_markdown return self.to_markdown when :to_plain, :to_text, :to_s return self.to_plain when :to_table return self.to_table when :to_pdf raise "PDF output is not yet supported." else raise "Invalid format: #{format}. Should be one of #{VALID_FORMATS.inspect}" end generate(reporter) end
generate(reporter)
click to toggle source
# File lib/railroader/report.rb, line 85 def generate reporter reporter.new(@app_tree, @tracker).generate_report end
method_missing(method, *args)
click to toggle source
Calls superclass method
# File lib/railroader/report.rb, line 50 def method_missing method, *args if VALID_FORMATS.include? method format method else super end end
require_report(type)
click to toggle source
# File lib/railroader/report.rb, line 58 def require_report type require "railroader/report/report_#{type}" end
to_json()
click to toggle source
# File lib/railroader/report.rb, line 62 def to_json require_report 'json' generate Railroader::Report::JSON end
to_markdown()
click to toggle source
# File lib/railroader/report.rb, line 72 def to_markdown require_report 'markdown' generate Railroader::Report::Markdown end
to_table()
click to toggle source
# File lib/railroader/report.rb, line 67 def to_table require_report 'table' generate Railroader::Report::Table end