class Thinreports::Preview::Generater
Public Class Methods
new(file)
click to toggle source
# File lib/thinreports/preview/generater.rb, line 4 def initialize(file) @file = file end
Public Instance Methods
generate(output, list_loop)
click to toggle source
# File lib/thinreports/preview/generater.rb, line 8 def generate(output, list_loop) name = File.basename(@file, '.*') shapes = ::ThinReports::Layout.new(@file).format.shapes ::ThinReports::Report.generate_file("#{output}/#{name}.pdf", :layout => @file) do start_new_page shapes.each do |k,v| case shapes[k].type when 's-list' tlist = Tlist.new(shapes[k].instance_variable_get("@config")) list(tlist.name).events.on :footer_insert do |e| tlist.footer.each do |key,val| e.section.item(key).value(val.preview_text) end end list_loop.times do |i| list(tlist.name).add_row do |row| tlist.header.each do |key,item| row.item(key).value(item.preview_text) end tlist.items.each do |key, item| row.item(key).value(item.preview_text) end end end when 's-tblock' tblock = Tblock.new(shapes[k].instance_variable_get("@config")) page.values(tblock.name => tblock.preview_text) end end end end