21 lines
		
	
	
	
		
			462 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			21 lines
		
	
	
	
		
			462 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| 
								 | 
							
								# frozen_string_literal: true
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class VerifyAccountLinksWorker
							 | 
						||
| 
								 | 
							
								  include Sidekiq::Worker
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  sidekiq_options queue: 'pull', retry: false, unique: :until_executed
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def perform(account_id)
							 | 
						||
| 
								 | 
							
								    account = Account.find(account_id)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    account.fields.each do |field|
							 | 
						||
| 
								 | 
							
								      next unless !field.verified? && field.verifiable?
							 | 
						||
| 
								 | 
							
								      VerifyLinkService.new.call(field)
							 | 
						||
| 
								 | 
							
								    end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    account.save! if account.changed?
							 | 
						||
| 
								 | 
							
								  rescue ActiveRecord::RecordNotFound
							 | 
						||
| 
								 | 
							
								    true
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								end
							 |