File 0005-Fix-crashing-issues-when-saving-an-object-with-edge-.patch of Package rubygem-acts-as-taggable-on
From 1d02ee5f62c1c160712f73c759d084db473ea84c Mon Sep 17 00:00:00 2001
From: Tom-Eric <ik@tom-eric.info>
Date: Tue, 1 Jun 2010 11:33:16 +0200
Subject: [PATCH 5/9] Fix crashing issues when saving an object with edge rails on ruby 1.9.2
---
lib/acts_as_taggable_on/tag.rb | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/lib/acts_as_taggable_on/tag.rb b/lib/acts_as_taggable_on/tag.rb
index 99d0959..907f2e6 100644
--- a/lib/acts_as_taggable_on/tag.rb
+++ b/lib/acts_as_taggable_on/tag.rb
@@ -47,7 +47,10 @@ module ActsAsTaggableOn
return [] if list.empty?
existing_tags = Tag.named_any(list).all
- new_tag_names = list.reject { |name| existing_tags.any? { |tag| tag.name.mb_chars.downcase == name.mb_chars.downcase } }
+ new_tag_names = list.reject do |name|
+ name = comparable_name(name)
+ existing_tags.any? { |tag| comparable_name(tag.name) == name }
+ end
created_tags = new_tag_names.map { |name| Tag.create(:name => name) }
existing_tags + created_tags
@@ -72,7 +75,10 @@ module ActsAsTaggableOn
def like_operator
using_postgresql? ? 'ILIKE' : 'LIKE'
end
+
+ def comparable_name(str)
+ RUBY_VERSION >= "1.9" ? str.downcase : str.mb_chars.downcase
+ end
end
-
end
end
\ No newline at end of file
--
1.7.1