* Fix trying to fetch posts from other users when fetching featured posts * Rate-limit discovery of new subdomains * Put a limit on recursively discovering new accounts
		
			
				
	
	
		
			27 lines
		
	
	
		
			665 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			665 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
module DomainMaterializable
 | 
						|
  extend ActiveSupport::Concern
 | 
						|
 | 
						|
  include Redisable
 | 
						|
 | 
						|
  included do
 | 
						|
    after_create_commit :refresh_instances_view
 | 
						|
  end
 | 
						|
 | 
						|
  def refresh_instances_view
 | 
						|
    return if domain.nil? || Instance.exists?(domain: domain)
 | 
						|
 | 
						|
    Instance.refresh
 | 
						|
    count_unique_subdomains!
 | 
						|
  end
 | 
						|
 | 
						|
  def count_unique_subdomains!
 | 
						|
    second_and_top_level_domain = PublicSuffix.domain(domain, ignore_private: true)
 | 
						|
    with_redis do |redis|
 | 
						|
      redis.pfadd("unique_subdomains_for:#{second_and_top_level_domain}", domain)
 | 
						|
      redis.expire("unique_subdomains_for:#{second_and_top_level_domain}", 1.minute.seconds)
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |