Module: ControllerMixins::CsvInstanceMethods

Defined in:
lib/controller_mixins/csv_instance_methods.rb

Instance Method Summary collapse

Instance Method Details

#to_csv(objects, skip_attributes = [], delimiter = ",") ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/controller_mixins/csv_instance_methods.rb', line 5

def to_csv(objects, skip_attributes=[], delimiter= ",")
  return "" if objects.blank?
  objects_class = objects.first.class
  filtered_columns = objects_class.column_names - skip_attributes
  CSV.generate do |csv|
    csv << filtered_columns
    objects.each do |object|
      csv << filtered_columns.collect { |a| object.attributes[a].blank? ? '' : "'#{object.attributes[a]}'" }
    end
  end
end