diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-01-08 13:39:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-08 13:39:49 +0100 |
commit | 1c6588accca23599ea1537ec527a5be04408b2af (patch) | |
tree | fd0b7af844699dc38829e776ff5a42987b6b1193 /app/models/instance.rb | |
parent | 9a38357111049c7587c898b2b623cf9c853a4d35 (diff) |
Redesign admin instances area (#9645)
Diffstat (limited to 'app/models/instance.rb')
-rw-r--r-- | app/models/instance.rb | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/app/models/instance.rb b/app/models/instance.rb index 6d5c9c2ab..7448d465c 100644 --- a/app/models/instance.rb +++ b/app/models/instance.rb @@ -3,10 +3,23 @@ class Instance include ActiveModel::Model - attr_accessor :domain, :accounts_count + attr_accessor :domain, :accounts_count, :domain_block - def initialize(account) - @domain = account.domain - @accounts_count = account.accounts_count + def initialize(resource) + @domain = resource.domain + @accounts_count = resource.accounts_count + @domain_block = resource.is_a?(DomainBlock) ? resource : DomainBlock.find_by(domain: domain) + end + + def cached_sample_accounts + Rails.cache.fetch("#{cache_key}/sample_accounts", expires_in: 12.hours) { Account.where(domain: domain).searchable.joins(:account_stat).popular.limit(3) } + end + + def to_param + domain + end + + def cache_key + domain end end |