# frozen_string_literal: true
namespace :mr_common do
desc "dump reminders" task dump_reminders: :environment do reminders = MrCommon::Reminder.all.map do |r| r.attributes end unless reminders.any? puts "No reminders to save yet..." exit end yml = reminders.to_yaml file = File.open("mr_common_reminders.yml", "w") file.write(yml) file.close end desc "load reminders" task load_reminders: :environment do unless Dir["mr_common_reminders.yml"].any? puts "No reminders to load yet..." exit end reminders = YAML.load(File.read("mr_common_reminders.yml")) if reminders.any? reminder_fields = %i[ all_day description end_time location start_time summary time_zone include_in_confirmation_mailer ] reminders.each do |reminder| r = MrCommon::Reminder.find_or_initialize_by(slug: reminder["slug"]) attrs = {} reminder_fields.each { |attr| attrs[attr.to_s] = reminder[attr.to_s] } r.update(attrs) end end end
end