Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # removes hashtags with uppercase letters and re-attaches
- # the posts to the lowercase version
- task :rewire_uppercase_hashtags => :environment do
- evil_tags = ActsAsTaggableOn::Tag.where("lower(name) != name")
- puts "found #{evil_tags.count} tags to convert..."
- evil_tags.each_with_index do |tag, i|
- good_tag = ActsAsTaggableOn::Tag.find_or_create_by_name(tag.name.downcase)
- puts "++ '#{tag.name}' has #{tag.taggings.count} records attached"
- deleteme = []
- tag.taggings.each do |tagging|
- deleteme << tagging
- end
- puts deleteme
- deleteme.each do |tagging|
- tagging.reload
- tag.taggings.delete(tagging)
- good_tag.taggings << tagging
- end
- puts "-- converted '#{tag.name}' to '#{good_tag.name}' with #{deleteme.count} records"
- puts "## #{i} tags processed" if (i % 50 == 0)
- end
- end
Add Comment
Please, Sign In to add comment