class EasyAxlsx::Builder
Public Class Methods
build(items)
click to toggle source
@api public @return [EasyAxlsx::Building]
# File lib/easy_axlsx/builder.rb, line 7 def self.build(items) @row_items = items @class = items.first.class init_package init_workbook init_workbook_styles fill_package Building.new row_items: @row_items, package: @package end
Private Class Methods
fill_package()
click to toggle source
Наполняет @package данными
# File lib/easy_axlsx/builder.rb, line 53 def self.fill_package fill_workbook @package end
fill_workbook()
click to toggle source
Наполняет @workbook данными
# File lib/easy_axlsx/builder.rb, line 61 def self.fill_workbook init_worksheet fill_worksheet @workbook end
fill_worksheet()
click to toggle source
Наполняет @worksheet данными
# File lib/easy_axlsx/builder.rb, line 70 def self.fill_worksheet order_items_rows_params = @row_items.map do |item| @class.easy_axlsx_fields.map { |method| item.send(method) } end order_items_rows_params.each do |row_params| @worksheet.add_row row_params end @worksheet end
init_package()
click to toggle source
Create @package variable @return [Axlsx::Package]
# File lib/easy_axlsx/builder.rb, line 23 def self.init_package @package = Axlsx::Package.new end
init_workbook()
click to toggle source
Add workbook to package. Create @workbook variable @return [Axlsx::Workbook]
# File lib/easy_axlsx/builder.rb, line 30 def self.init_workbook @workbook = @package.workbook end
init_workbook_styles()
click to toggle source
Add styles to workbook @return [Hash] styles
# File lib/easy_axlsx/builder.rb, line 37 def self.init_workbook_styles @workbook_styles ||= { wrap_text: @workbook.styles.add_style(alignment: { horizontal: :left, vertical: :center, wrap_text: true }) } end
init_worksheet()
click to toggle source
# File lib/easy_axlsx/builder.rb, line 44 def self.init_worksheet @worksheet ||= @workbook.add_worksheet(name: "#{@class}") do |sheet| sheet.add_row @class.easy_axlsx_fields, style: @workbook_styles.fetch(:wrap_text), height: 60 sheet.column_widths(*@class.easy_axlsx_widths) end end