Skip to content
Extraits de code Groupes Projets
Valider 0e7521df rédigé par Maxwell Salzberg's avatar Maxwell Salzberg Validation de Ilyaaaaaaaaaaaaa Zhitomirskiy
Parcourir les fichiers

adding csv generator

parent 0aed9759
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
module CsvGenerator
PATH = '/Users/maxwell/Sites/dump'
def self.all_active_users
file = self.filename("all_active_users")
sql = <<SQL
SELECT email AS '%EMAIL%'
#{self.output_syntax(file)}
FROM users where username IS NOT NULL
SQL
ActiveRecord::Base.execute(sql)
end
def self.all_inactive_invited_users
file = self.filename("all_inactive_invited_users.csv")
sql = <<SQL
SELECT invitations.identifier AS '%EMAIL%', users.invitation_token AS '%TOKEN%'
#{self.output_syntax(file)}
FROM invitations
JOIN users ON
users.id=invitations.recipient_id
WHERE users.username IS NULL
AND invitations.service='email'
SQL
ActiveRecord::Base.execute(sql)
end
def self.waitlist
filename = File.join(Rails.root, 'config', 'mailing_list.csv')
people = self.load_waiting_list_csv
offset = self.offset
left = people[0...offset]
right = people[offset...people.size]
#reading from csv (get number of row we're on) - left
#reading from csv (get number of row we're on) - right
end
def self.load_waiting_list_csv
csv= File.join(Rails.root, 'config', 'mailing_list.csv')
if RUBY_VERSION.include? "1.8"
require 'fastercsv'
people = FasterCSV.read(csv)
else
require 'csv'
people = CSV.read(csv)
end
people
end
def self.offset
offset_filename = File.join(Rails.root, 'config', 'email_offset')
File.read(offset_filename).to_i
end
def self.filename(name)
"#{PATH}#{Time.now.strftime("%Y-%m-%d")}-#{name}"
end
def self.output_syntax filename
<<SQL
INTO OUTFILE '#{filename}'
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
SQL
end
end
require 'spec_helper'
describe CsvGenerator do
describe '.all_active_users' do
end
describe '.all_inactive_invited_users' do
end
describe '.waitlist_sent' do
end
describe '.waitlist_pending' do
end
end
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter