From 34474c2240f1fe64be7e4df75bb74494fb1a8666 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Tue, 8 Dec 2015 11:10:25 +0200 Subject: [PATCH] Story#109362984 - converter to update punycodes in domain history --- lib/tasks/convert.rake | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/tasks/convert.rake b/lib/tasks/convert.rake index 6345c9097..ba0e547dc 100644 --- a/lib/tasks/convert.rake +++ b/lib/tasks/convert.rake @@ -15,5 +15,22 @@ namespace :convert do end puts "-----> all done in #{(Time.zone.now.to_f - start).round(2)} seconds. #{count} domains changed." end + + desc 'Convert punycodes in history to unicode' + task history_punycode: :environment do + DomainVersion.find_each do |d| + if obj = d.object + obj["name"] = SimpleIDN.to_unicode(obj["name"]) + obj["name_puny"] = SimpleIDN.to_ascii(obj["name_puny"]) + d.object = obj + end + if (obj_c = d.object_changes).present? + obj_c["name"].map!{|e| e ? SimpleIDN.to_unicode(e) : e } if obj_c["name"] + obj_c["name_puny"].map!{|e| e ? SimpleIDN.to_ascii(e) : e } if obj_c["name_puny"] + d.object_changes = obj_c + end + d.save! + end + end end