lib/tablesmith/hash_rows_base.rb in tablesmith-0.4.1 vs lib/tablesmith/hash_rows_base.rb in tablesmith-0.5.0

- old
+ new

@@ -1,15 +1,18 @@ +# frozen_string_literal: true + # ActiveRecord and HashRowsSource share a lot, but not everything. module Tablesmith::HashRowsBase # not all resulting rows will have data in all columns, so make sure all rows pad out missing columns def normalize_keys(rows) all_keys = rows.map(&:keys).flatten.uniq rows.map { |hash_row| all_keys.each { |key| hash_row[key] ||= '' } } end def sort_columns(rows) return if column_order.empty? + rows.map! do |row| # this sort gives preference to column_order then falls back to alphabetic for leftovers. # this is handy when columns auto-generate based on hash data. row.sort do |a, b| a_col_name, b_col_name = [a.first, b.first] @@ -30,6 +33,6 @@ def create_headers(rows) column_names = rows.first.map(&:first) grouped_headers(column_names) + [apply_column_aliases(column_names), :separator] end -end \ No newline at end of file +end