Unfortunately Alertzy is running out of the garbage pickup data that was published by the City of Edmonton on their open data catalogue. I’ve been assured that the data will be up shortly, but our data was set to run out on May 31st and that was starting to get a little too close for my comfort.
I wrote a quick rake task (Alertzy runs on Rails) to generate the data for June 2011 while we wait for the data catalogue to get up and running. I encourage anyone to borrow the code (and point out any mistakes they find!) if they are in a similar position. The code can be found here:
namespace :alertzy do desc "Populate June 2011 data" task :populate_june => :environment do generate_june_data end end def generate_june_data mondays = [6,13,20,27] tuesdays = [7,14,21,28] wednesdays = [1,8,15,22,29] thursdays = [2,9,16,23,30] fridays = [3,10,17,24] mondays.map! {|day| DateTime.parse("June #{day}, 2011 7:00:00")} tuesdays.map! {|day| DateTime.parse("June #{day}, 2011 7:00:00")} wednesdays.map! {|day| DateTime.parse("June #{day}, 2011 7:00:00")} thursdays.map! {|day| DateTime.parse("June #{day}, 2011 7:00:00")} fridays.map! {|day| DateTime.parse("June #{day}, 2011 7:00:00")} mondays.each do |date| [{:zone => "D", :day => 5}, {:zone => "D", :day => 6}, {:zone => "D", :day => 7}].each do |zone| GarbagePickup.create(:zone => zone[:zone], :day => zone[:day], :pickup_date => date) end end tuesdays.each do |date| [{:zone => "E", :day => 7}, {:zone => "E", :day => 8}].each do |zone| GarbagePickup.create(:zone => zone[:zone], :day => zone[:day], :pickup_date => date) end end wednesdays.each do |date| [{:zone => "A", :day => 1}, {:zone => "A", :day => 2}].each do |zone| GarbagePickup.create(:zone => zone[:zone], :day => zone[:day], :pickup_date => date) end end thursdays.each do |date| [{:zone => "B", :day => 2}, {:zone => "B", :day => 3}, {:zone => "B", :day => 4}].each do |zone| GarbagePickup.create(:zone => zone[:zone], :day => zone[:day], :pickup_date => date) end end fridays.each do |date| [{:zone => "C", :day => 4}, {:zone => "C", :day => 5}].each do |zone| GarbagePickup.create(:zone => zone[:zone], :day => zone[:day], :pickup_date => date) end end end |