Sha256: 9bd98d005092c7f96431fd27686e75553edf3870d19a07d61352efefacb34789

Contents?: true

Size: 668 Bytes

Versions: 3

Compression:

Stored size: 668 Bytes

Contents

class Array

  def to_csv(options = {})
    options.reverse_merge!(:header => true)

    csv_data = CSV.generate(:col_sep => ';') do |csv|

      if options[:header]
        csv << options[:header_columns]
        self.each do |model|
          row = []
          
          options[:only].each do |column|
            value = model.send(column.to_s)
            
            if value.class == Float
              value = ActionController::Base.helpers.number_with_delimiter(value, :delimiter => ".", :separator => ",")
            end

            row.push(value)
          end

          csv << row
        end
      end
      
    end
    return csv_data
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
my_admin-0.1.13 lib/my_admin/to_csv.rb
my_admin-0.1.12 lib/my_admin/to_csv.rb
my_admin-0.1.11 lib/my_admin/to_csv.rb