diff --git a/lib/csv_generator.rb b/lib/csv_generator.rb index 68ac7f52d..c4e5d320f 100644 --- a/lib/csv_generator.rb +++ b/lib/csv_generator.rb @@ -1,6 +1,6 @@ module CsvGenerator - PATH = '/home/ilya/workspace/diaspora/' + PATH = '/tmp/' BACKER_CSV_LOCATION = File.join('/home/ilya/workspace/diaspora/', 'backer_list.csv') WAITLIST_LOCATION = File.join(Rails.root, 'config', 'mailing_list.csv') OFFSET_LOCATION = File.join(Rails.root, 'config', 'email_offset') @@ -12,7 +12,7 @@ module CsvGenerator #{self.output_syntax(file)} FROM users where username IS NOT NULL SQL - ActiveRecord::Base.execute(sql) + ActiveRecord::Base.connection.execute(sql) end def self.all_inactive_invited_users @@ -26,54 +26,100 @@ SQL WHERE users.username IS NULL AND invitations.service='email' SQL - ActiveRecord::Base.execute(sql) + ActiveRecord::Base.connection.execute(sql) + end + + def self.generate_csvs + self.backers_recent_login + self.backers_old_login + self.backers_never_login + self.non_backers_recent_login + self.non_backers_old_login + self.non_backers_never_login end def self.backers_recent_login file = self.filename("v1_backers_recent_login.csv") - # coalesce( `profiles`.full_name, ) - # JOIN ( `profiles`.) - sql = < 1312675027); -SQL + sql = self.select_fragment(file, "#{self.backer_email_condition} AND #{self.recent_login_query}") - puts "Here is the sql:" - puts sql - puts - - User.connection.execute(sql) + ActiveRecord::Base.connection.execute(sql) end -# def self.backers_older_login -# file = self.filename("v1_backers_recent_login.csv") -# sql = < #{(Time.now - 1.month).to_i})" + end + + def self.old_login_query + "(last_sign_in_at < #{(Time.now - 1.month).to_i})" + end + + def self.never_login_query + "(last_sign_in_at IS NULL)" end def self.query_string_from_array(array)