Sha256: d5fedde6b5576f58089d140bc323b27aef33c31d4bab36f8e0ba359a5d5fe0df
Contents?: true
Size: 1.1 KB
Versions: 6
Compression:
Stored size: 1.1 KB
Contents
# 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
Version data entries
6 entries across 6 versions & 1 rubygems