diff options
Diffstat (limited to 'lib/tasks')
-rw-r--r-- | lib/tasks/stats.rake | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/tasks/stats.rake b/lib/tasks/stats.rake index 1352abd8c..e206ce951 100644 --- a/lib/tasks/stats.rake +++ b/lib/tasks/stats.rake @@ -3,23 +3,27 @@ namespace :stats do desc 'Produce transaction stats' task :show => :environment do month_starts = (Date.new(2009, 1)..Date.new(2011, 5)).select { |d| d.day == 1 } + headers = ['Period', + 'Requests sent', + 'Annotations added', + 'Track this request email signups', + 'Comments on own requests', + 'Follow up messages sent'] + puts headers.join("\t") month_starts.each do |month_start| month_end = month_start.end_of_month - puts "#{month_start}-#{month_end}" + period = "#{month_start}-#{month_end}" date_conditions = ['created_at >= ? AND created_at < ?', month_start, month_end+1] request_count = InfoRequest.count(:conditions => date_conditions) - puts "Requests sent: #{request_count}" comment_count = Comment.count(:conditions => date_conditions) - puts "Annotations added: #{comment_count}" track_conditions = ['track_type = ? AND track_medium = ? AND created_at >= ? AND created_at < ?', 'request_updates', 'email_daily', month_start, month_end+1] email_request_track_count = TrackThing.count(:conditions => track_conditions) - puts "Track this request email signups: #{email_request_track_count}" comment_on_own_request_conditions = ['comments.user_id = info_requests.user_id AND comments.created_at >= ? AND comments.created_at < ?', @@ -32,8 +36,12 @@ namespace :stats do AND created_at < ?', 'followup', month_start, month_end+1] follow_up_count = OutgoingMessage.count(:conditions => followup_conditions) - comments_and_followup_count = comment_on_own_request_count.to_i + follow_up_count.to_i - puts "Comments on own requests, follow ups sent: #{comments_and_followup_count}" + puts [period, + request_count, + comment_count, + email_request_track_count, + comment_on_own_request_count, + follow_up_count].join("\t") end end |