Files
nairobi/lib/tasks/globalize.rake
2018-11-05 18:20:50 +01:00

41 lines
1.1 KiB
Ruby

namespace :globalize do
desc "Migrates existing data to translation tables"
task migrate_data: :environment do
[
AdminNotification,
Banner,
Budget::Investment::Milestone,
I18nContent,
Legislation::DraftVersion,
Legislation::Process,
Legislation::Question,
Legislation::QuestionOption,
Poll,
Poll::Question,
Poll::Question::Answer,
SiteCustomization::Page,
Widget::Card
].each do |model_class|
Logger.new(STDOUT).info "Migrating #{model_class} data"
fields = model_class.translated_attribute_names
model_class.find_each do |record|
fields.each do |field|
locale = if model_class == SiteCustomization::Page && record.locale.present?
record.locale
else
I18n.locale
end
if record.send(:"#{field}_#{locale}").blank?
record.send(:"#{field}_#{locale}=", record.untranslated_attributes[field.to_s])
end
end
record.save!
end
end
end
end