class TaskJuggler::RTFReport
This class is a specialized RichTextFunctionHandler
that includes a report into the RichText
output for supported formats.
Public Class Methods
new(project, sourceFileInfo = nil)
click to toggle source
Calls superclass method
TaskJuggler::RichTextFunctionHandler::new
# File lib/taskjuggler/RichText/RTFReport.rb, line 23 def initialize(project, sourceFileInfo = nil) @project = project super('report', sourceFileInfo) @blockFunction = true end
Public Instance Methods
to_html(args)
click to toggle source
Return a HTML tree for the report.
# File lib/taskjuggler/RichText/RTFReport.rb, line 35 def to_html(args) if args.nil? || (id = args['id']).nil? error('rtp_report_id', "Argument 'id' missing to specify the report to be used.") return nil end unless (report = @project.report(id)) error('rtp_report_unknown_id', "Unknown report #{id}") return nil end # Detect recursive nesting found = false @project.reportContexts.each do |c| if c.report == report found = true break end end if found stack = "" @project.reportContexts.each do |context| stack += ' -> ' unless stack.empty? stack += '[ ' if context.report == report stack += context.report.fullId end stack += " -> #{report.fullId} ] ..." error('rtp_report_recursion', "Recursive nesting of reports detected: #{stack}") return nil end # Create a new context for the report. @project.reportContexts.push(ReportContext.new(@project, report)) # Generate the report with the new context report.generateIntermediateFormat html = report.to_html @project.reportContexts.pop html end
to_s(args)
click to toggle source
Not supported for this function
# File lib/taskjuggler/RichText/RTFReport.rb, line 30 def to_s(args) '' end
to_tagged(args)
click to toggle source
Not supported for this function.
# File lib/taskjuggler/RichText/RTFReport.rb, line 77 def to_tagged(args) nil end