| 
									
										
										
										
											2021-09-11 01:00:23 +01:00
										 |  |  | # typed: strict | 
					
						
							| 
									
										
										
										
											2020-12-06 18:53:00 -08:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module OnOS | 
					
						
							| 
									
										
										
										
											2021-09-11 01:00:23 +01:00
										 |  |  |   extend T::Sig | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-06 18:53:00 -08:00
										 |  |  |   # Block only executed on macOS. No-op on Linux. | 
					
						
							|  |  |  |   # <pre>on_macos do | 
					
						
							|  |  |  |   # # Do something Mac-specific | 
					
						
							|  |  |  |   # end</pre> | 
					
						
							| 
									
										
										
										
											2021-09-11 01:00:23 +01:00
										 |  |  |   sig { params(block: T.proc.void).void } | 
					
						
							| 
									
										
										
										
											2020-12-06 18:53:00 -08:00
										 |  |  |   def on_macos(&block) | 
					
						
							| 
									
										
										
										
											2021-09-11 01:00:23 +01:00
										 |  |  |     raise "No block content defined for 'on_macos' block" unless T.unsafe(block) | 
					
						
							| 
									
										
										
										
											2020-12-06 18:53:00 -08:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Block only executed on Linux. No-op on macOS. | 
					
						
							|  |  |  |   # <pre>on_linux do | 
					
						
							|  |  |  |   # # Do something Linux-specific | 
					
						
							|  |  |  |   # end</pre> | 
					
						
							| 
									
										
										
										
											2021-09-11 01:00:23 +01:00
										 |  |  |   sig { params(block: T.proc.void).void } | 
					
						
							| 
									
										
										
										
											2020-12-06 18:53:00 -08:00
										 |  |  |   def on_linux(&block) | 
					
						
							| 
									
										
										
										
											2021-09-11 01:00:23 +01:00
										 |  |  |     raise "No block content defined for 'on_linux' block" unless T.unsafe(block) | 
					
						
							| 
									
										
										
										
											2020-12-06 18:53:00 -08:00
										 |  |  |   end | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require "extend/os/on_os" |