47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/csvision/csv_helper.rb', line 47
def to_csv(options={})
options[:delimeter] ||= '"'
options[:separator] ||= ','
options[:headers] = true if options[:headers].nil?
, values, rows = [], [], nil
@csv = ''
if self.respond_to?( :attributes ) && self.attributes.kind_of?( Hash )
rows = self.attributes.only( *csv_only ).to_a if csv_only && !csv_only.empty?
rows ||= self.attributes.except( *csv_except ).to_a if csv_except && !csv_except.empty?
rows ||= self.attributes.to_a
end
( rows || self.to_a ).each do |(key, value)|
<< key if options[:headers]
values << value
end
@csv = csvize(, options) + "\n" if options[:headers]
@csv += csvize(values, options)
end
|