class ExcelWalker::Writer::Cells

Attributes

data[RW]
default_style[RW]
styles[RW]
width[RW]

Public Class Methods

new(default_style) click to toggle source
# File lib/excel_walker/writer/cells.rb, line 7
def initialize(default_style)
  @default_style = default_style
  @data, @styles, @width = [], [], 0
end

Public Instance Methods

build() click to toggle source
# File lib/excel_walker/writer/cells.rb, line 26
def build
  build_data
  build_styles
end
set_data_at(range, cell_data) click to toggle source
# File lib/excel_walker/writer/cells.rb, line 12
def set_data_at(range, cell_data)
  range = [range] if range.is_a?(Fixnum)
  range.each do |i|
    data[i] = cell_data
  end
end
set_style_at(range, cell_style) click to toggle source
# File lib/excel_walker/writer/cells.rb, line 19
def set_style_at(range, cell_style)
  range = [range] if range.is_a?(Fixnum)
  range.each do |i|
    styles[i] = cell_style
  end
end

Private Instance Methods

build_data() click to toggle source
# File lib/excel_walker/writer/cells.rb, line 33
def build_data
  if data.empty? && @width > 0
    @data = [nil]*@width
  end
end
build_styles() click to toggle source
# File lib/excel_walker/writer/cells.rb, line 39
def build_styles
  final_styles = [@default_style]*@data.length
  0.upto(styles.length - 1).each do |idx|
    final_styles[idx] = @styles[idx] if @styles[idx]
  end
  @styles = final_styles
end