class TaskJuggler::RTFReport
This class is a specialized RichTextFunctionHandler
that includes a report into the RichText
output for supported formats.
Public Class Methods
Source
# File lib/taskjuggler/RichText/RTFReport.rb, line 24 def initialize(project, sourceFileInfo = nil) @project = project super('report', sourceFileInfo) @blockFunction = true end
Calls superclass method
TaskJuggler::RichTextFunctionHandler::new
Public Instance Methods
Source
# File lib/taskjuggler/RichText/RTFReport.rb, line 36 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
Return a HTML tree for the report.
Source
# File lib/taskjuggler/RichText/RTFReport.rb, line 31 def to_s(args) '' end
Not supported for this function
Source
# File lib/taskjuggler/RichText/RTFReport.rb, line 78 def to_tagged(args) nil end
Not supported for this function.