about summary refs log tree commit diff
path: root/app/models/follow_recommendation.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/follow_recommendation.rb')
-rw-r--r--app/models/follow_recommendation.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/app/models/follow_recommendation.rb b/app/models/follow_recommendation.rb
new file mode 100644
index 000000000..e552b5a88
--- /dev/null
+++ b/app/models/follow_recommendation.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+# == Schema Information
+#
+# Table name: follow_recommendations
+#
+#  account_id :bigint(8)        primary key
+#  rank       :decimal(, )
+#  reason     :text             is an Array
+#
+
+class FollowRecommendation < ApplicationRecord
+  self.primary_key = :account_id
+
+  belongs_to :account_summary, foreign_key: :account_id
+  belongs_to :account, foreign_key: :account_id
+
+  scope :localized, ->(locale) { joins(:account_summary).merge(AccountSummary.localized(locale)) }
+
+  def self.refresh
+    Scenic.database.refresh_materialized_view(table_name, concurrently: false, cascade: false)
+  end
+
+  def readonly?
+    true
+  end
+end