instance.rb 615 B

12345678910111213141516171819202122232425
  1. # frozen_string_literal: true
  2. class Instance
  3. include ActiveModel::Model
  4. attr_accessor :domain, :accounts_count, :domain_block
  5. def initialize(resource)
  6. @domain = resource.domain
  7. @accounts_count = resource.accounts_count
  8. @domain_block = resource.is_a?(DomainBlock) ? resource : DomainBlock.find_by(domain: domain)
  9. end
  10. def cached_sample_accounts
  11. Rails.cache.fetch("#{cache_key}/sample_accounts", expires_in: 12.hours) { Account.where(domain: domain).searchable.joins(:account_stat).popular.limit(3) }
  12. end
  13. def to_param
  14. domain
  15. end
  16. def cache_key
  17. domain
  18. end
  19. end