class Rubyxls::ViewModel

Attributes

data_rows[R]

Public Class Methods

new(**opts) click to toggle source
# File lib/rubyxls/view_model.rb, line 6
def initialize(**opts)
  @data_rows = []
  @data_rows_count = opts.fetch(:rows_count, nil)

  build_title_row!
  build_header_row!
  build_data_rows!
  build_additional_rows! unless @data_rows_count.nil?
  build_total_row!
end

Private Instance Methods

add_empty_cell(*style) click to toggle source
# File lib/rubyxls/view_model.rb, line 47
def add_empty_cell(*style)
  { value: nil, style: style }
end
build_additional_row!() click to toggle source
# File lib/rubyxls/view_model.rb, line 31
def build_additional_row!
  []
end
build_additional_rows!() click to toggle source
# File lib/rubyxls/view_model.rb, line 39
def build_additional_rows!
  number_of_additional_rows = @data_rows_count - @data_rows.size

  number_of_additional_rows.times do
    build_additional_row!
  end
end
build_data_rows!() click to toggle source
# File lib/rubyxls/view_model.rb, line 27
def build_data_rows!
  []
end
build_header_row!() click to toggle source
# File lib/rubyxls/view_model.rb, line 23
def build_header_row!
  []
end
build_title_row!() click to toggle source
# File lib/rubyxls/view_model.rb, line 19
def build_title_row!
  []
end
build_total_row!() click to toggle source
# File lib/rubyxls/view_model.rb, line 35
def build_total_row!
  []
end
calculate_data_rows_remaining() click to toggle source
# File lib/rubyxls/view_model.rb, line 55
def calculate_data_rows_remaining
  @data_rows_count - @data_rows.size
end
limit_data_to_data_rows_count(data) click to toggle source
# File lib/rubyxls/view_model.rb, line 51
def limit_data_to_data_rows_count(data)
  @data_rows_count.nil? ? data : data[0...calculate_data_rows_remaining]
end