From 93e51d872dce0399501372d96facc986960421b7 Mon Sep 17 00:00:00 2001 From: lukemelia Date: Wed, 25 Jul 2007 02:07:31 +0000 Subject: [PATCH] Add migration to normalize existing Open ID URLs. Remember to "rake db:migrate". git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@572 a4c988fc-2ded-0310-b66e-134b36920a42 --- tracks/db/migrate/035_update_open_id_urls.rb | 29 ++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 tracks/db/migrate/035_update_open_id_urls.rb diff --git a/tracks/db/migrate/035_update_open_id_urls.rb b/tracks/db/migrate/035_update_open_id_urls.rb new file mode 100644 index 00000000..19c7f681 --- /dev/null +++ b/tracks/db/migrate/035_update_open_id_urls.rb @@ -0,0 +1,29 @@ +class UpdateOpenIdUrls < ActiveRecord::Migration + + class User < ActiveRecord::Base + + def normalize_open_id_url + return if open_id_url.nil? + self.open_id_url = self.class.normalize_open_id_url(open_id_url) + end + + def self.normalize_open_id_url(raw_open_id_url) + normalized = raw_open_id_url + normalized = "http://#{raw_open_id_url}" unless raw_open_id_url =~ /\:\/\// + normalized.downcase.chomp('/') + end + + end + + def self.up + User.find(:all).each do |user| + original = user.open_id_url + user.normalize_open_id_url + say "#{original} -> #{user.open_id_url}" + user.save! unless user.open_id_url == original + end + end + + def self.down + end +end