mirror of
https://github.com/internetee/registry.git
synced 2025-08-01 07:26:22 +02:00
Improve default csv generation
This commit is contained in:
parent
e50501f13f
commit
aef30eeb4d
5 changed files with 19 additions and 19 deletions
|
@ -1,11 +1,11 @@
|
|||
class CsvGenerator
|
||||
class << self
|
||||
def generate_csv(objects)
|
||||
@class_name = objects.first.class
|
||||
return default_generation(objects) unless custom_csv?
|
||||
class_name = objects.first.class
|
||||
return default_generation(objects) unless custom_csv?(class_name)
|
||||
|
||||
CSV.generate do |csv|
|
||||
csv << @class_name.csv_header
|
||||
csv << class_name.csv_header
|
||||
objects.each { |object| csv << object.as_csv_row }
|
||||
end
|
||||
end
|
||||
|
@ -14,21 +14,16 @@ class CsvGenerator
|
|||
|
||||
def default_generation(objects)
|
||||
CSV.generate do |csv|
|
||||
csv << @class_name.column_names
|
||||
objects.each { |object| csv << object.attributes.values_at(*@class_name.column_names) }
|
||||
csv << objects.column_names
|
||||
objects.all.find_each { |object| csv << object.attributes.values_at(*objects.column_names) }
|
||||
end
|
||||
end
|
||||
|
||||
def custom_csv?
|
||||
def custom_csv?(class_name)
|
||||
[
|
||||
Version::DomainVersion,
|
||||
Version::ContactVersion,
|
||||
Domain,
|
||||
Contact,
|
||||
Invoice,
|
||||
Account,
|
||||
AccountActivity
|
||||
].include?(@class_name)
|
||||
Version::DomainVersion, Version::ContactVersion, Domain,
|
||||
Contact, Invoice, Account, AccountActivity
|
||||
].include?(class_name)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue