Sha256: 8db683fa6d5a22232035bad0f59f6d601fc10ce69c84f4127e19d5d3e941e4ef
Contents?: true
Size: 844 Bytes
Versions: 1
Compression:
Stored size: 844 Bytes
Contents
# frozen_string_literal: true # creates the datatable and it's columns class DataTable attr_reader :columns, :rows, :labels def initialize(columns, rows, grouping) @grouping = grouping @rows = rows + ['TOTAL'] @columns = treat_columns(columns) @labels = @columns.map(&:label) end private def treat_columns(columns) convert_columns(columns) columns.map! do |col| if col.is_a?(CombinedColumn) col.columns = columns.find_all { |col2| col.columns.include?(col2.label) }.sort do |column| col.columns.index(column.label) end end col end end def convert_columns(columns) columns.map! do |col| if col[:column_type] == 'combined' CombinedColumn.new(col) else Column.new(col.merge(grouping: @grouping)) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
easy_data_tables-0.1.1 | app/models/data_table.rb |