Move KeywordMute into Glitch namespace.

There are two motivations for this:

1. It looks like we're going to add other features that require
   server-side storage (e.g. user notes).

2. Namespacing glitchsoc modifications is a good idea anyway: even if we
   do not end up doing (1), if upstream introduces a keyword-mute feature
   that also uses a "KeywordMute" model, we can avoid some merge
   conflicts this way and work on the more interesting task of
   choosing which implementation to use.
This commit is contained in:
David Yip
2017-10-21 14:47:17 -05:00
parent cd04e3df58
commit 670e6a33f8
9 changed files with 47 additions and 33 deletions

View File

@@ -55,7 +55,7 @@ class Settings::KeywordMutesController < ApplicationController
end
def keyword_mutes_for_account
KeywordMute.where(account: @account)
Glitch::KeywordMute.where(account: @account)
end
def load_keyword_mute

View File

@@ -138,7 +138,7 @@ class FeedManager
end
def filter_from_home?(status, receiver_id)
return true if KeywordMute.matcher_for(receiver_id) =~ status.text
return true if Glitch::KeywordMute.matcher_for(receiver_id) =~ status.text
return false if receiver_id == status.account_id
return true if status.reply? && (status.in_reply_to_id.nil? || status.in_reply_to_account_id.nil?)

7
app/models/glitch.rb Normal file
View File

@@ -0,0 +1,7 @@
# frozen_string_literal: true
module Glitch
def self.table_name_prefix
'glitch_'
end
end

View File

@@ -1,7 +1,7 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: keyword_mutes
# Table name: glitch_keyword_mutes
#
# id :integer not null, primary key
# account_id :integer not null
@@ -11,7 +11,7 @@
# updated_at :datetime not null
#
class KeywordMute < ApplicationRecord
class Glitch::KeywordMute < ApplicationRecord
belongs_to :account, required: true
validates_presence_of :keyword
@@ -33,7 +33,7 @@ class KeywordMute < ApplicationRecord
def initialize(account_id)
re = [].tap do |arr|
KeywordMute.where(account_id: account_id).select(:keyword, :id, :whole_word).find_each do |m|
Glitch::KeywordMute.where(account_id: account_id).select(:keyword, :id, :whole_word).find_each do |m|
boundary = m.whole_word ? '\b' : ''
arr << "#{boundary}#{Regexp.escape(m.keyword.strip)}#{boundary}"
end