Class: GroupMentionsUpdater

Inherits:
Object
  • Object
show all
Defined in:
app/services/group_mentions_updater.rb

Class Method Summary collapse

Class Method Details

.update(current_name, previous_name) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'app/services/group_mentions_updater.rb', line 4

def self.update(current_name, previous_name)
  Post
    .where(
      "cooked LIKE '%class=\"mention-group%' AND raw LIKE :previous_name",
      previous_name: "%@#{previous_name}%",
    )
    .find_in_batches do |posts|
      posts.each do |post|
        post.raw.gsub!(/(^|\s)(@#{previous_name})(\s|$)/, "\\1@#{current_name}\\3")
        post.save!(validate: false)
      end
    end
end