Gist of the proposed keyword mute implementation: Keyword mutes are represented server-side as one keyword per record. For each account, there exists a keyword regex that is generated as one big alternation of all keywords. This regex is cached (in Redis, I guess) so we can quickly get it when filtering in FeedManager.main
parent
d589dd7cd0
commit
9093e2de7a
@ -0,0 +1,13 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: keyword_mutes
|
||||
#
|
||||
# id :integer not null, primary key
|
||||
# account_id :integer not null
|
||||
# keyword :string not null
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
#
|
||||
|
||||
class KeywordMute < ApplicationRecord
|
||||
end
|
@ -0,0 +1,11 @@
|
||||
class CreateKeywordMutes < ActiveRecord::Migration[5.1]
|
||||
def change
|
||||
create_table :keyword_mutes do |t|
|
||||
t.references :account, null: false
|
||||
t.string :keyword, null: false
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_foreign_key :keyword_mutes, :accounts, on_delete: :cascade
|
||||
end
|
||||
end
|
@ -0,0 +1,2 @@
|
||||
Fabricator(:keyword_mute) do
|
||||
end
|
@ -0,0 +1,5 @@
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe KeywordMute, type: :model do
|
||||
pending "add some examples to (or delete) #{__FILE__}"
|
||||
end
|
Loading…
Reference in new issue