class Seisan::Report
Constants
- DEFAULT_RENDERERS
Public Class Methods
add(renderer)
click to toggle source
# File lib/seisan/report.rb, line 20 def add(renderer) @@renderers << renderer end
new(requests, config)
click to toggle source
# File lib/seisan/report.rb, line 25 def initialize(requests, config) @requests = requests @config = config end
renderer_chain(&block)
click to toggle source
# File lib/seisan/report.rb, line 15 def renderer_chain(&block) @@renderers = [] block.call(self) if block end
Public Instance Methods
export(dest_path)
click to toggle source
# File lib/seisan/report.rb, line 30 def export(dest_path) prepare_sheet renderers.each do |renderer| renderer.render end write_to_file(dest_path) end
Private Instance Methods
prepare_sheet()
click to toggle source
# File lib/seisan/report.rb, line 45 def prepare_sheet @package = Axlsx::Package.new @workbook = @package.workbook @package.use_shared_strings = true @font = @workbook.styles.add_style :font_name => 'MS Pゴシック' @sheet = @workbook.add_worksheet(:name => '精算シート') end
renderers()
click to toggle source
# File lib/seisan/report.rb, line 41 def renderers @@renderers.map {|r| r.new(@requests, @sheet, @font, @config) } end
write_to_file(dest_path)
click to toggle source
# File lib/seisan/report.rb, line 53 def write_to_file(dest_path) FileUtils.mkdir_p(File.dirname(dest_path)) @package.serialize(dest_path) Seisan.logger.info 'Wrote to %s' % dest_path end