Sha256: 00b4f38c9b9b507f5cedb620d965e8c82dfd8c41472ec86bd4b914134e33a0b3
Contents?: true
Size: 924 Bytes
Versions: 3
Compression:
Stored size: 924 Bytes
Contents
module ActiveAdmin class CSVBuilder def build(controller, csv) @collection = controller.send :find_collection, except: :pagination columns = exec_columns controller.view_context options = ActiveAdmin.application.csv_options.merge self.options bom = options.delete :byte_order_mark column_names = options.delete(:column_names) { true } csv_options = options.except :encoding_options, :humanize_name csv << bom if bom if column_names csv << CSV.generate_line(columns.map{ |c| encode c.name, options }, csv_options) end (1..paginated_collection.total_pages).each do |page| paginated_collection(page).each do |resource| resource = controller.send :apply_decorator, resource csv << CSV.generate_line(build_row(resource, columns, options), csv_options) end end csv end end end
Version data entries
3 entries across 3 versions & 1 rubygems