aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/public_body_categories.rb35
-rw-r--r--lib/tasks/stats.rake48
2 files changed, 67 insertions, 16 deletions
diff --git a/lib/public_body_categories.rb b/lib/public_body_categories.rb
index e01ce8bf7..e30ce8707 100644
--- a/lib/public_body_categories.rb
+++ b/lib/public_body_categories.rb
@@ -12,27 +12,27 @@ module PublicBodyCategories
"Miscellaneous",
[ "other", "Miscellaneous", "miscellaneous" ],
"Central government",
- [ "department", "Ministerial departments", "a ministerial department" ],
- [ "non_ministerial_department", "Non-ministerial departments", "a non-ministerial department" ],
- [ "executive_agency", "Executive agencies", "an executive agency" ],
- [ "government_office", "Government offices for the regions", "a government office for the regions" ],
+ [ "department", "Ministerial departments", "a ministerial department" ],
+ [ "non_ministerial_department", "Non-ministerial departments", "a non-ministerial department" ],
+ [ "executive_agency", "Executive agencies", "an executive agency" ],
+ [ "government_office", "Government offices for the regions", "a government office for the regions" ],
[ "advisory_committee", "Advisory committees", "an advisory committee" ],
[ "awc", "Agricultural wages committees", "an agriculatural wages committee" ],
[ "adhac", "Agricultural dwelling house advisory committees", "an agriculatural dwelling house advisory committee" ],
[ "newdeal", "New Deal for Communities partnership", "a New Deal for Communities partnership" ],
"Local and regional",
[ "local_council", "Local councils", "a local council" ],
- [ "parish_council", "Town and Parish councils", "a town or parish council"],
+ [ "parish_council", "Town and Parish councils", "a town or parish council"],
[ "housing_association", "Housing associations", "a housing association"],
[ "almo", "Housing ALMOs", "a housing ALMO"],
[ "municipal_bank", "Municipal bank", "a municipal bank"],
[ "nsbody", "North/south bodies", "a north/south body"],
[ "pbo", "Professional buying organisations", "a professional buying organisation"],
- [ "regional_assembly", "Regional assemblies", "a regional assembly"],
- [ "rda", "Regional development agencies", "a regional development agency" ],
+ [ "regional_assembly", "Regional assemblies", "a regional assembly"],
+ [ "rda", "Regional development agencies", "a regional development agency" ],
"Education",
[ "university", "Universities", "a university" ],
- [ "university_college", "University colleges", "a university college" ],
+ [ "university_college", "University colleges", "a university college" ],
[ "cambridge_college", "Cambridge colleges", "a Cambridge college" ],
[ "durham_college", "Durham colleges", "a Durham college" ],
[ "oxford_college", "Oxford colleges", "an Oxford college or permanent private hall" ],
@@ -45,12 +45,11 @@ module PublicBodyCategories
[ "lib_board", "Education and library boards", "an education and library board" ],
[ "rbc", "Regional Broadband Consortia", "a Regional Broadband Consortium" ],
"Environment",
- [ "npa", "National park authorities", "a national park authority" ],
+ [ "npa", "National park authorities", "a national park authority" ],
[ "rpa", "Regional park authorities", "a regional park authority" ],
- [ "sea_fishery_committee", "Sea fisheries committees", "a sea fisheries committee" ],
[ "watercompanies", "Water companies", "a water company" ],
+ [ "ifca", "Inshore fisheries and conservation authorities", "an inshore fisheries and conservation authority" ],
[ "idb", "Internal drainage boards", "an internal drainage board" ],
- [ "rfdc", "Regional flood defence committees", "a regional flood defence committee" ],
[ "wda", "Waste disposal authorities", "a waste disposal authority" ],
[ "zoo", "Zoos", "a zoo" ],
"Health",
@@ -70,22 +69,26 @@ module PublicBodyCategories
[ "military_college", "Military colleges", "a military college" ],
[ "security_services", "Security services", "a security services body" ],
"Emergency services and the courts",
- [ "police", "Police forces", "a police force" ],
- [ "police_authority", "Police authorities", "a police authority" ],
+ [ "police", "Police forces", "a police force" ],
+ [ "police_authority", "Police authorities", "a police authority" ],
[ "dpp", "District policing partnerships", "a district policing partnership" ],
[ "fire_service", "Fire and rescue services", "a fire and rescue service" ],
- [ "prob_board", "Probation boards", "a probation board" ],
+ [ "probation_trust", "Probation trusts", "a probation trust" ],
[ "rules_committee", "Rules commitees", "a rules committee" ],
[ "tribunal", "Tribunals", "a tribunal"],
"Transport",
[ "npte", "Passenger transport executives", "a passenger transport executive" ],
[ "port_authority", "Port authorities", "a port authority" ],
[ "scp", "Safety Camera Partnerships", "a safety camera partnership" ],
- [ "srp", "Safer Roads Partnership", "a safer roads partnership" ]
+ [ "srp", "Safer Roads Partnership", "a safer roads partnership" ],
+ "Defunct",
+ [ "prob_board", "Probation boards", "a probation board" ],
+ [ "rfdc", "Regional flood defence committees", "a regional flood defence committee" ],
+ [ "sea_fishery_committee", "Sea fisheries committees", "a sea fisheries committee" ],
]
# Arranged in different ways for different sorts of displaying
- CATEGORIES_WITH_DESCRIPTION = CATEGORIES_WITH_HEADINGS.select() { |a| a.instance_of?(Array) }
+ CATEGORIES_WITH_DESCRIPTION = CATEGORIES_WITH_HEADINGS.select() { |a| a.instance_of?(Array) }
CATEGORIES = CATEGORIES_WITH_DESCRIPTION.map() { |a| a[0] }
CATEGORIES_BY_TAG = Hash[*CATEGORIES_WITH_DESCRIPTION.map() { |a| a[0..1] }.flatten]
CATEGORY_SINGULAR_BY_TAG = Hash[*CATEGORIES_WITH_DESCRIPTION.map() { |a| [a[0],a[2]] }.flatten]
diff --git a/lib/tasks/stats.rake b/lib/tasks/stats.rake
new file mode 100644
index 000000000..e206ce951
--- /dev/null
+++ b/lib/tasks/stats.rake
@@ -0,0 +1,48 @@
+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
+ period = "#{month_start}-#{month_end}"
+ date_conditions = ['created_at >= ?
+ AND created_at < ?',
+ month_start, month_end+1]
+ request_count = InfoRequest.count(:conditions => date_conditions)
+ comment_count = Comment.count(:conditions => date_conditions)
+ 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)
+ comment_on_own_request_conditions = ['comments.user_id = info_requests.user_id
+ AND comments.created_at >= ?
+ AND comments.created_at < ?',
+ month_start, month_end+1]
+ comment_on_own_request_count = Comment.count(:conditions => comment_on_own_request_conditions,
+ :include => :info_request)
+
+ followup_conditions = ['message_type = ?
+ AND created_at >= ?
+ AND created_at < ?',
+ 'followup', month_start, month_end+1]
+ follow_up_count = OutgoingMessage.count(:conditions => followup_conditions)
+ puts [period,
+ request_count,
+ comment_count,
+ email_request_track_count,
+ comment_on_own_request_count,
+ follow_up_count].join("\t")
+ end
+ end
+
+end \ No newline at end of file