* Wip: マイグレーション、設定など一式 * Fix test * Fix test * Fix: マスター用の設定を他サーバーに送信しないよう修正 * DTL、外部サーバーの情報受け入れのテストを追加 * スペルミスを修正 * Web画面に設定項目追加 * 既存の`master_settings`を上書きしないよう修正
28 lines
641 B
Ruby
28 lines
641 B
Ruby
# frozen_string_literal: true
|
|
|
|
module AccountMasterSettings
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
def subscription_policy
|
|
return master_settings['subscription_policy']&.to_sym || :allow if master_settings.present?
|
|
|
|
# allow, followers_only, block
|
|
:allow
|
|
end
|
|
|
|
def subscription_policy=(val)
|
|
self.master_settings = (master_settings.nil? ? {} : master_settings).merge({ 'subscription_policy' => val })
|
|
end
|
|
|
|
def all_subscribable?
|
|
subscription_policy == :allow
|
|
end
|
|
|
|
def public_master_settings
|
|
{
|
|
'subscription_policy' => subscription_policy,
|
|
}
|
|
end
|
|
end
|
|
end
|