Skip to content

Instantly share code, notes, and snippets.

@jrom
Created October 1, 2010 15:48
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jrom/606375 to your computer and use it in GitHub Desktop.
Save jrom/606375 to your computer and use it in GitHub Desktop.
require 'csv'
CSV.open("#{Rails.root}/../consumers.csv", "w") do |csv|
["Last login","Registration date","Organizations", "Projects count", "Organizations Plan", "name", "time_zone", "Language", "Email", "Phones", "Address"]
User.find_each(:include => [{:card => [:addresses, :phone_numbers]}, :organizations]) do |user|
print '.'
phones = []
if user.card
phones << user.card.phone_numbers.map(&:name).join(";") if user.card.phone_numbers
first_address = user.card.addresses.first
end
address = first_address ? "#{first_address.street}, #{first_address.city}, #{first_address.state}, #{first_address.zip}, #{first_address.country}" : ""
csv << [user.visited_at, user.created_at, user.organizations.map(&:name).join("; "), user.organizations.collect{|organization| organization.projects.count}.join("; "), user.organizations.map(&:feature_level).join("; "), user.name, user.time_zone, user.locale, user.email, phones, address]
end
puts "\nUsers exported correctly"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment