From 7ab16152d6adee2c14a3b7b8c180a7b4e1ed8a20 Mon Sep 17 00:00:00 2001 From: Segalla Fabio Date: Tue, 5 Nov 2013 11:28:22 +0100 Subject: [PATCH] use flat_map instead of map flatten --- lib/rails_admin/support/csv_converter.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/rails_admin/support/csv_converter.rb b/lib/rails_admin/support/csv_converter.rb index b67734f3a2..f570450984 100644 --- a/lib/rails_admin/support/csv_converter.rb +++ b/lib/rails_admin/support/csv_converter.rb @@ -59,11 +59,11 @@ def to_csv(options) csv << @fields.map do |field| output(::I18n.t('admin.export.csv.header_for_root_methods', :name => field.label, :model => @abstract_model.pretty_name)) end + - @associations.map do |association_name, option_hash| + @associations.flat_map do |association_name, option_hash| option_hash[:fields].map do |field| output(::I18n.t('admin.export.csv.header_for_association_methods', :name => field.label, :association => option_hash[:association].label)) end - end.flatten + end end method = @objects.respond_to?(:find_each) ? :find_each : :each @objects.send(method) do |o| @@ -72,13 +72,13 @@ def to_csv(options) csv << @fields.map do |field| output(field.with(:object => o).export_value) end + - @associations.map do |association_name, option_hash| + @associations.flat_map do |association_name, option_hash| associated_objects = [o.send(association_name)].flatten.compact option_hash[:fields].map do |field| output(associated_objects.map{ |ao| field.with(:object => ao).export_value.presence || @empty }.join(',')) end - end.flatten + end end end