#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../config/environment' require 'net/smtp' mails = ['leandronunes@gmail.com', 'leandro.santos@serpro.gov.br'] puts 'Iniciando script' file = File.open('data.csv', 'w+') #articles = ProposalsDiscussionPlugin::Proposal.all tasks = ProposalsDiscussionPlugin::ProposalTask.all count = 0 header = "'Origem';'Status';'Criada em';'Moderado por';'Data de Moderado';'Validado por';'Data de Validado';'Autor';'Proposta'\n" file.write(header) STATUS_TRANSLATION = { 1 => 'Pendente de Moderacao', 2 => 'Rejeitada', 3 => 'Aprovada', 5 => 'Pre Aprovada', 6 => 'Pre Rejeitada', } tasks.map do |task| count += 1 puts "%s de %s: adicionando task: %s" % [count, tasks.count, task.id ] info = [] info.push(task.proposal_source) info.push(STATUS_TRANSLATION[task.status]) info.push(task.created_at.strftime("%d/%m/%y %H:%M")) info.push(task.proposal_evaluation.present? ? task.proposal_evaluation.evaluated_by.name : '') info.push(task.proposal_evaluation.present? ? task.proposal_evaluation.created_at.strftime("%d/%m/%y %H:%M") : '') info.push(task.closed_by.present? ? task.closed_by.name : '') info.push(task.closed_by.present? ? task.end_date.strftime("%d/%m/%y %H:%M") : '') info.push(task.requestor.present? ? task.requestor.name : '') info.push(task.abstract.present? ? task.abstract.gsub(/\s+/, ' ').strip : '') file.write(info.map{|i| "'" + i.to_s + "'"}.join(";")) file.write("\n") end file.close message = < To: Leandro Subject: Relatorio do Dialoga Segue em anexo o relatorio do Dialoga. MESSAGE_END Net::SMTP.start('localhost') do |smtp| smtp.send_message message, 'leandronunes@gmail.com', 'leandro.santos@serpro.gov.br' end