mirror of https://github.com/mastodon/mastodon
Move account sensitize-related methods to concern (#28865)
parent
d033920b7e
commit
c78dc23b49
@ -0,0 +1,21 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module Account::Sensitizes
|
||||||
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
|
included do
|
||||||
|
scope :sensitized, -> { where.not(sensitized_at: nil) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def sensitized?
|
||||||
|
sensitized_at.present?
|
||||||
|
end
|
||||||
|
|
||||||
|
def sensitize!(date = Time.now.utc)
|
||||||
|
update!(sensitized_at: date)
|
||||||
|
end
|
||||||
|
|
||||||
|
def unsensitize!
|
||||||
|
update!(sensitized_at: nil)
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,18 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe Account::Sensitizes do
|
||||||
|
describe 'Scopes' do
|
||||||
|
describe '.sensitized' do
|
||||||
|
let(:sensitized_account) { Fabricate :account, sensitized_at: 2.days.ago }
|
||||||
|
|
||||||
|
before { Fabricate :account, sensitized_at: false }
|
||||||
|
|
||||||
|
it 'returns an array of accounts who are sensitized' do
|
||||||
|
expect(Account.sensitized)
|
||||||
|
.to contain_exactly(sensitized_account)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue