diff --git a/app/assets/javascripts/app/helpers/text_formatter.js b/app/assets/javascripts/app/helpers/text_formatter.js index c9a302fe9..814665959 100644 --- a/app/assets/javascripts/app/helpers/text_formatter.js +++ b/app/assets/javascripts/app/helpers/text_formatter.js @@ -43,7 +43,7 @@ var hashtagPlugin = window.markdownitHashtag; md.use(hashtagPlugin, { - // compare tag_text_regexp in app/models/acts_as_taggable_on-tag.rb + // compare tag_text_regexp in config/initializers/acts_as_taggable_on.rb hashtagRegExp: "[" + PosixBracketExpressions.word + "\\u055b" + // Armenian emphasis mark "\\u055c" + // Armenian exclamation mark diff --git a/app/assets/javascripts/app/views/tag_following_list_view.js b/app/assets/javascripts/app/views/tag_following_list_view.js index d284f137c..41af8e7e5 100644 --- a/app/assets/javascripts/app/views/tag_following_list_view.js +++ b/app/assets/javascripts/app/views/tag_following_list_view.js @@ -48,7 +48,7 @@ app.views.TagFollowingList = app.views.Base.extend({ if(evt){ evt.preventDefault(); } var name = this.$(".tag_input").val(); - // compare tag_text_regexp in app/models/acts_as_taggable_on-tag.rb + // compare tag_text_regexp in config/initializers/acts_as_taggable_on.rb var normalizedName = (name === "<3" ? name : name.replace( new RegExp("[^" + PosixBracketExpressions.alnum + "_\\-]+", "gi"), "").toLowerCase()); diff --git a/app/models/acts_as_taggable_on-tag.rb b/app/models/acts_as_taggable_on-tag.rb deleted file mode 100644 index dc5ece4cc..000000000 --- a/app/models/acts_as_taggable_on-tag.rb +++ /dev/null @@ -1,25 +0,0 @@ -# frozen_string_literal: true - -module ActsAsTaggableOn - class Tag - - self.include_root_in_json = false - - def self.tag_text_regexp - @tag_text_regexp ||= "[[:word:]]\u055b\u055c\u055e\u058a_-" - end - - def self.autocomplete(name) - where("name LIKE ?", "#{name.downcase}%").order("name ASC") - end - - def self.normalize(name) - if name =~ /^#?<3/ - # Special case for love, because the world needs more love. - '<3' - elsif name - name.gsub(/[^#{self.tag_text_regexp}]/, '').downcase - end - end - end -end diff --git a/config/initializers/acts_as_taggable_on.rb b/config/initializers/acts_as_taggable_on.rb index de8bfc5aa..743fdfa63 100644 --- a/config/initializers/acts_as_taggable_on.rb +++ b/config/initializers/acts_as_taggable_on.rb @@ -1,4 +1,26 @@ # frozen_string_literal: true -require 'models/acts_as_taggable_on-tag' +module ActsAsTaggableOn + class Tag + self.include_root_in_json = false + + def self.tag_text_regexp + @tag_text_regexp ||= "[[:word:]]\u055b\u055c\u055e\u058a_-" + end + + def self.autocomplete(name) + where("name LIKE ?", "#{name.downcase}%").order("name ASC") + end + + def self.normalize(name) + if name =~ /^#?<3/ + # Special case for love, because the world needs more love. + "<3" + elsif name + name.gsub(/[^#{tag_text_regexp}]/, "").downcase + end + end + end +end + ActsAsTaggableOn.force_lowercase = true