about summary refs log tree commit diff
path: root/app/models/concerns/follow_limitable.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/concerns/follow_limitable.rb')
-rw-r--r--app/models/concerns/follow_limitable.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/app/models/concerns/follow_limitable.rb b/app/models/concerns/follow_limitable.rb
new file mode 100644
index 000000000..c64060d6e
--- /dev/null
+++ b/app/models/concerns/follow_limitable.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+module FollowLimitable
+  extend ActiveSupport::Concern
+
+  included do
+    validates_with FollowLimitValidator, on: :create, unless: :bypass_follow_limit?
+  end
+
+  def bypass_follow_limit=(value)
+    @bypass_follow_limit = value
+  end
+
+  def bypass_follow_limit?
+    @bypass_follow_limit
+  end
+end