diff --git a/app/models/cron_mailer.rb b/app/models/cron_mailer.rb new file mode 100644 index 0000000..b4ab048 --- /dev/null +++ b/app/models/cron_mailer.rb @@ -0,0 +1,15 @@ +class CronMailer < ActionMailer::Base + + def error_message(subject, message, sent_at= Time.now) + @from = 'cronjob@allourideas.org' + @recipients = "dhruv@dkapadia.com" + @subject ="[All Our Ideas] " + subject + @sent_on = sent_at + @body[:message] = message + @body[:host] = "www.allourideas.org" + end + + + + +end diff --git a/app/views/cron_mailer/error_message.erb b/app/views/cron_mailer/error_message.erb new file mode 100644 index 0000000..98808e8 --- /dev/null +++ b/app/views/cron_mailer/error_message.erb @@ -0,0 +1,11 @@ +Hi, + +A cron job has sent an error message. Find the hopefully relevant message below: + +<%= @message %> + +Thanks, +All Our Ideas +145 Wallace Hall +Princeton, NJ 08544 +info@allourideas.org diff --git a/app/views/cron_mailer/error_message.haml b/app/views/cron_mailer/error_message.haml new file mode 100644 index 0000000..99a503a --- /dev/null +++ b/app/views/cron_mailer/error_message.haml @@ -0,0 +1,11 @@ +Hi, + += "A cron job has sent an error message. Find the hopefully relevant message below:\n" + += @message` + +Thanks, +All Our Ideas +145 Wallace Hall +Princeton, NJ 08544 +info@allourideas.org diff --git a/lib/tasks/test_api.rake b/lib/tasks/test_api.rake new file mode 100644 index 0000000..a8cdf7a --- /dev/null +++ b/lib/tasks/test_api.rake @@ -0,0 +1,40 @@ +namespace :test_api do + + desc "Description here" + task(:question_vote_consistency => :environment) do + questions = Question.find(:all) + + error_msg = "" + questions.each do |question| + + total_wins =0 + total_votes =0 + question.choices.each do |choice| + + if choice.wins + total_wins += choice.wins + total_votes += choice.wins + end + + if choice.losses + total_votes += choice.losses + end + end + + + if (2*total_wins != total_votes) + error_msg += "Error:" + end + + if(total_votes % 2 != 0) + error_msg += "ERROR" + end + + error_msg += "Question #{question.id}: 2*wins = #{2*total_wins}, total votes = #{total_votes}\n" + end + + CronMailer.deliver_error_message("This is a test", "") + + end +end + diff --git a/test/unit/cron_mailer_test.rb b/test/unit/cron_mailer_test.rb new file mode 100644 index 0000000..8bc2f49 --- /dev/null +++ b/test/unit/cron_mailer_test.rb @@ -0,0 +1,8 @@ +require 'test_helper' + +class CronMailerTest < ActionMailer::TestCase + # replace this with your real tests + test "the truth" do + assert true + end +end -- libgit2 0.21.2