module PostVersionsHelper def post_version_diff(post_version) diff = post_version.diff(post_version.previous) html = [] diff[:added_tags].each do |tag| prefix = diff[:obsolete_added_tags].include?(tag) ? '+' : '+' html << prefix + link_to(tag, posts_path(:tags => tag)) + '' end diff[:removed_tags].each do |tag| prefix = diff[:obsolete_removed_tags].include?(tag) ? '-' : '-' html << prefix + link_to(tag, posts_path(:tags => tag)) + '' end diff[:unchanged_tags].each do |tag| html << '' + link_to(tag, posts_path(:tags => tag)) + '' end return html.join(" ").html_safe end end