@ -1,16 +1,29 @@
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					# frozen_string_literal: true 
 
					 
					 
					 
					# frozen_string_literal: true 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					if  ENV [ 'REDIS_URL' ] . blank? 
 
					 
					 
					 
					def  setup_redis_env_url ( prefix  =  nil ,  defaults  =  true ) 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					  password  =  ENV . fetch ( 'REDIS_PASSWORD' )  {  ''  } 
 
					 
					 
					 
					  prefix  =  prefix . to_s . upcase  +  '_'  unless  prefix . nil? 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					  host      =  ENV . fetch ( 'REDIS_HOST' )  {  'localhost'  } 
 
					 
					 
					 
					  prefix  =  ''  if  prefix . nil? 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					  port      =  ENV . fetch ( 'REDIS_PORT' )  {  6379  } 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  db        =  ENV . fetch ( 'REDIS_DB' )  {  0  } 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  ENV [ 'REDIS_URL' ]  =  " redis:// #{ password . blank?  ?  ''  :  " : #{ password } @ " } #{ host } : #{ port } / #{ db } " 
 
					 
					 
					 
					  return  if  ENV [ prefix  +  'REDIS_URL' ] . present? 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  password  =  ENV . fetch ( prefix  +  'REDIS_PASSWORD' )  {  ''  if  defaults  } 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  host      =  ENV . fetch ( prefix  +  'REDIS_HOST' )  {  'localhost'  if  defaults  } 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  port      =  ENV . fetch ( prefix  +  'REDIS_PORT' )  {  6379  if  defaults  } 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  db        =  ENV . fetch ( prefix  +  'REDIS_DB' )  {  0  if  defaults  } 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  ENV [ prefix  +  'REDIS_URL' ]  =  if  [ password ,  host ,  port ,  db ] . all? ( & :nil? ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					                                ENV [ 'REDIS_URL' ] 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					                              else 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					                                " redis:// #{ password . blank?  ?  ''  :  " : #{ password } @ " } #{ host } : #{ port } / #{ db } " 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					                              end 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					end 
 
					 
					 
					 
					end 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					namespace  =  ENV . fetch ( 'REDIS_NAMESPACE' )  {  nil  } 
 
					 
					 
					 
					setup_redis_env_url 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					setup_redis_env_url ( :cache ,  false ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					namespace        =  ENV . fetch ( 'REDIS_NAMESPACE' )  {  nil  } 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					cache_namespace  =  namespace  ?  namespace  +  '_cache'  :  'cache' 
 
					 
					 
					 
					cache_namespace  =  namespace  ?  namespace  +  '_cache'  :  'cache' 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					REDIS_CACHE_PARAMS  =  { 
 
					 
					 
					 
					REDIS_CACHE_PARAMS  =  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  expires_in :  10 . minutes , 
 
					 
					 
					 
					  expires_in :  10 . minutes , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  namespace :  cache_namespace , 
 
					 
					 
					 
					  namespace :  cache_namespace ,