class CmAdmin::Models::Export
def get_records(klass, model, columns, helpers)
def get_records(klass, model, columns, helpers) records = klass custom_fields = model.available_fields[:index].map{|field| field if field.field_type == :custom}.compact normal_fields = model.available_fields[:index].map{|field| field unless field.field_type == :custom}.compact deserialized_columns = CmAdmin::Utils.deserialize_csv_columns(columns, :as_json_params) # This includes isn't recursve, a full solution should be recursive records_arr = [] records.includes(deserialized_columns[:include].keys).find_each do |record| record_hash = record.as_json({only: normal_fields.map(&:field_name)}) custom_fields.each do |field| record_hash[field.field_name.to_sym] = helpers.send(field.helper_method, record, field.field_name) end records_arr << record_hash end records_arr end