#!/usr/bin/env ruby # encoding: UTF-8 include ActionDispatch::TestProcess puts 'Iniciando script eventos' filebasepath = '/tmp/' dialoga = Community['dialoga'] root_report_folder = dialoga.folders.where(:slug => 'relatorios').first root_report_folder ||= Folder.create!(:profile => dialoga, :name => 'Relatorios') report_folder = Folder.find_by_slug(DateTime.now.strftime('%Y-%m-%d')) report_folder ||= Folder.create!(:profile => dialoga, :name => DateTime.now.strftime('%Y-%m-%d'), :parent => root_report_folder) events = Event.all events.map do |event| filepath = filebasepath + DateTime.now.strftime('%Y-%m-%d-%H-%m-%S') + '-' + event.slug file = File.open(File.join(filepath), 'w+') file.write(event.name+ "\n") header = "'Nome';'Email'\n" file.write(header) count = 0 event.person_followers.map do |person| count += 1 puts "%s de %s: adicionando evento: %s" % [count, event.person_followers.count, event.id ] info = [] info.push(person.name) info.push(person.email) file.write(info.map{|i| "'" + i.to_s + "'"}.join(";")) file.write("\n") end file.close uploaded_file = UploadedFile.new(:uploaded_data => fixture_file_upload(filepath, 'text/csv'), :profile => dialoga, :parent => report_folder) uploaded_file.save end