db/seeds.rb in hackathon_manager-0.7.1 vs db/seeds.rb in hackathon_manager-0.8.0

- old
+ new

@@ -6,13 +6,54 @@ # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) # Mayor.create(name: 'Emanuel', city: cities.first) require 'csv' +puts "Seeding messages..." + +subject_mapping = { + "questionnaire.pending" => "Application Received", + "questionnaire.accepted" => "You've been accepted!", + "questionnaire.denied" => "Your application status", + "questionnaire.rsvp_confirmed" => "RSVP Confirmation" +} + +name_mapping = { + "questionnaire.pending" => "Application Received", + "questionnaire.accepted" => "Accepted email", + "questionnaire.denied" => "Denied email", + "questionnaire.rsvp_confirmed" => "RSVP confirmed email" +} + +path = File.join(File.dirname(__FILE__), 'seed_messages/*.md') +files = FileList.glob(path) +files.each do |filepath| + filename = File.basename(filepath) + trigger = filename.sub('.md', '').sub('--', '.') + + if Message.automated.where(trigger: trigger).count >= 1 + puts "Skipping seed for automated message #{trigger}: existing automated email found" + next + end + + body = File.read(filepath) + Message.create( + type: 'automated', + name: name_mapping[trigger], + subject: subject_mapping[trigger], + trigger: trigger, + body: body + ) + + puts "Seeded automated message for #{trigger}" +end + puts "Seeding school list..." csv_file = File.join(File.dirname(__FILE__), 'schools.csv') csv_text = File.read(csv_file) csv = CSV.parse(csv_text, headers: true) csv.each do |row| School.create(row.to_hash) end + +puts "Done"