class Twb::Analysis::DocumentedFieldsMarkdownEmitter
Attributes
docFileName[R]
Public Class Methods
new()
click to toggle source
# File lib/twb/analysis/DocumentedFieldsMarkdownEmitter.rb, line 25 def initialize # puts "" end
Public Instance Methods
processTwb(twbName)
click to toggle source
# File lib/twb/analysis/DocumentedFieldsMarkdownEmitter.rb, line 29 def processTwb twbName @twb = Twb::Workbook.new twbName @docFileName = '.ttdoc' + @twb.name + '.DocumentedFields.md' @docFile = File.open(@docFileName,'w') @docFile.puts "## #{@twb.name}" dss = @twb.datasources @docFile.puts "#{dss.length} Data Source#{(dss.length>1) ? 's' : ''}" @docFile.puts " " dss.each do |ds| @docFile.puts "- #{ds.uiname}" end @docFile.puts " " dss.each do |ds| @docFile.puts "### #{ds.uiname}" columnFields = ds.columnFields #.sort_by { |fldName,calc| fldName } columnFields.each do |field| commentLines = field.comment calculation = field.calcField # puts "\n#{field.uiname}" # puts "Comment? #{commentLines}" # puts "Calc ? #{calculation}" @docFile.puts "\n##### #{field.uiname} " unless commentLines.nil? commentLines.each do |line| @docFile.puts "###### #{line}" end end unless calculation.nil? @docFile.puts "```" @docFile.puts calculation.formulaResolved @docFile.puts "\n -- Fields --" unless calculation.calcFields.empty? refFields = SortedSet.new calculation.calcFields.each do |cf| fds = if cf.dataSourceRef == :remote then "<<#{cf.dataSource}>>" else '' end refFields.add "#{cf.uiName} \t #{fds}" end refFields.each do |rf| @docFile.puts " #{rf}" end @docFile.puts "```" end end end end