block_relationships.find_or_create_by!(target_account: other_account)
end
- def mute!(other_account)
- mute_relationships.find_or_create_by!(target_account: other_account)
+ def mute!(other_account, notifications: true)
+ mute_relationships.create_with(hide_notifications: notifications).find_or_create_by!(target_account: other_account)
end
def mute_conversation!(conversation)
conversation_mutes.where(conversation: conversation).exists?
end
+ def muting_notifications?(other_account)
+ mute_relationships.where(target_account: other_account, hide_notifications: true).exists?
+ end
+
def requested?(other_account)
follow_requests.where(target_account: other_account).exists?
end
#
# Table name: mutes
#
-# id :integer not null, primary key
-# account_id :integer not null
-# target_account_id :integer not null
-# created_at :datetime not null
-# updated_at :datetime not null
+# id :integer not null, primary key
+# account_id :integer not null
+# target_account_id :integer not null
+# created_at :datetime not null
+# updated_at :datetime not null
+# hide_notifications :boolean default(FALSE), not null
#
class Mute < ApplicationRecord
t.integer "target_account_id", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.boolean "hide_notifications", default: false, null: false
t.index ["account_id", "target_account_id"], name: "index_mutes_on_account_id_and_target_account_id", unique: true
end