31 lines
		
	
	
		
			682 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			682 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # typed: strict
 | |
| # frozen_string_literal: true
 | |
| 
 | |
| module OS
 | |
|   module Linux
 | |
|     module SimulateSystem
 | |
|       module ClassMethods
 | |
|         sig { returns(T.nilable(Symbol)) }
 | |
|         def os
 | |
|           @os ||= T.let(nil, T.nilable(Symbol))
 | |
|           return :macos if @os.blank? && Homebrew::EnvConfig.simulate_macos_on_linux?
 | |
| 
 | |
|           @os
 | |
|         end
 | |
| 
 | |
|         sig { returns(T::Boolean) }
 | |
|         def simulating_or_running_on_linux?
 | |
|           os.blank? || os == :linux
 | |
|         end
 | |
| 
 | |
|         sig { returns(Symbol) }
 | |
|         def current_os
 | |
|           os || :linux
 | |
|         end
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 | |
| 
 | |
| Homebrew::SimulateSystem.singleton_class.prepend(OS::Linux::SimulateSystem::ClassMethods)
 | 
