diff options
| author | Marc Florisson | 2014-01-27 11:53:47 +0100 |
|---|---|---|
| committer | Marc Florisson | 2014-01-27 11:53:47 +0100 |
| commit | 383db38e3ea0557e3495c84c522af53532599323 (patch) | |
| tree | d4fc9b31efb808c94036389bf3350e4071caa7f1 /lib | |
| parent | 50eeb0e37559778019386acb456aa003924e483d (diff) | |
| download | chouette-core-383db38e3ea0557e3495c84c522af53532599323.tar.bz2 | |
add stats task
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/tasks/stats.rake | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/tasks/stats.rake b/lib/tasks/stats.rake new file mode 100644 index 000000000..1d90ac6ae --- /dev/null +++ b/lib/tasks/stats.rake @@ -0,0 +1,36 @@ + +namespace :stats do + desc "send stats" + task :send => :environment do + puts "Send stats" + + File.open('/tmp/stats_users.csv','w') do |s| + User.order(:id).each { |u| s.puts "#{u.id},#{u.organisation.name},#{u.name},#{u.email},#{u.sign_in_count},#{u.last_sign_in_at}"} + end + + File.open('/tmp/stats_organisations.csv','w') do |s| + Organisation.all.each { |o| s.puts "#{o.name},#{o.users.inject(0){ |memo, u| memo = memo + u.sign_in_count}},#{o.users.count}"} + end + + File.open('/tmp/stats_counts.csv','w') do |s| + [Organisation, User, Referential, Export, Import, FileValidation].each do |class_for_stat| + stats = [] + stats << class_for_stat.all.select {|o| o.created_at.month==12 && o.created_at.year==2013}.count + 1.upto(12) do |i| + stats << class_for_stat.all.select {|o| o.created_at.month==i && o.created_at.year==2014}.count + end + s.puts stats.join(",") + end + end + + # m = ActionMailer::Base.mail(:to => "mflorisson@cityway.fr", + # :from => "jdleca@cityway.fr", + # :subject=>"Chouette stats", + # :content_type=>"multipart/mixed") + # m.attachments['stats.csv'] = File.read("/tmp/stats.csv") + # m.deliver + + puts "Send stats complete" + end +end + |
