From 208306ca32febaf8a4df9785be00a15293491122 Mon Sep 17 00:00:00 2001 From: David Zhang Date: Sat, 8 Jun 2024 10:14:12 -0400 Subject: [PATCH] make #headers public on CsvBuilder --- lib/as_csv/csv_builder.rb | 8 ++++---- spec/lib/csv_builder_spec.rb | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/as_csv/csv_builder.rb b/lib/as_csv/csv_builder.rb index 1b7c3d7..6074809 100644 --- a/lib/as_csv/csv_builder.rb +++ b/lib/as_csv/csv_builder.rb @@ -15,16 +15,16 @@ def to_csv rows.collect { |row| CSV.generate_line(row, **csv_options) }.join end + def headers + @headers ||= csv_hashes.collect(&:keys).flatten.uniq + end + private def rows @rows ||= [headers] + data_rows end - def headers - @headers ||= csv_hashes.collect(&:keys).flatten.uniq - end - def data_rows @data_rows ||= csv_hashes.collect { |csv_hash| data_row csv_hash } end diff --git a/spec/lib/csv_builder_spec.rb b/spec/lib/csv_builder_spec.rb index 5b03c16..9c23b3a 100644 --- a/spec/lib/csv_builder_spec.rb +++ b/spec/lib/csv_builder_spec.rb @@ -39,7 +39,7 @@ end end - context 'with hetreogenous records' do + context 'with heterogeneous records' do let(:records) do 2.times.map do |i| double(:foo, :as_csv => {