| 
									
										
										
										
											2010-09-11 20:22:54 +01:00
										 |  |  | require 'formula' | 
					
						
							| 
									
										
										
										
											2012-07-10 22:09:31 -05:00
										 |  |  | require 'keg' | 
					
						
							| 
									
										
										
										
											2010-09-11 20:22:54 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-18 22:41:47 -05:00
										 |  |  | module Homebrew | 
					
						
							| 
									
										
										
										
											2010-09-11 20:22:54 +01:00
										 |  |  |   def outdated | 
					
						
							| 
									
										
										
										
											2015-01-04 00:41:24 -05:00
										 |  |  |     formulae = ARGV.formulae.any? ? ARGV.formulae : Formula.installed | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     outdated = outdated_brews(formulae) do |f, versions| | 
					
						
							| 
									
										
										
										
											2015-01-03 17:53:00 -05:00
										 |  |  |       if ($stdout.tty? || ARGV.verbose?) && !ARGV.flag?("--quiet") | 
					
						
							| 
									
										
										
										
											2014-03-05 20:12:51 -06:00
										 |  |  |         puts "#{f.name} (#{versions*', '} < #{f.pkg_version})" | 
					
						
							| 
									
										
										
										
											2010-09-11 20:22:54 +01:00
										 |  |  |       else | 
					
						
							| 
									
										
										
										
											2011-09-11 13:06:05 -07:00
										 |  |  |         puts f.name | 
					
						
							| 
									
										
										
										
											2010-09-11 20:22:54 +01:00
										 |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2015-01-04 00:41:24 -05:00
										 |  |  |     Homebrew.failed = ARGV.formulae.any? && outdated.any? | 
					
						
							| 
									
										
										
										
											2010-09-11 20:22:54 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-04 00:41:24 -05:00
										 |  |  |   def outdated_brews(formulae) | 
					
						
							|  |  |  |     formulae.map do |f| | 
					
						
							| 
									
										
										
										
											2013-05-24 11:13:27 -05:00
										 |  |  |       versions = f.rack.subdirs.map { |d| Keg.new(d).version }.sort! | 
					
						
							| 
									
										
										
										
											2014-03-05 20:12:51 -06:00
										 |  |  |         if versions.all? { |version| f.pkg_version > version } | 
					
						
							| 
									
										
										
										
											2013-05-24 11:13:27 -05:00
										 |  |  |         yield f, versions if block_given? | 
					
						
							| 
									
										
										
										
											2012-07-10 22:09:31 -05:00
										 |  |  |         f | 
					
						
							|  |  |  |       end | 
					
						
							| 
									
										
										
										
											2010-09-11 20:22:54 +01:00
										 |  |  |     end.compact | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2011-09-11 13:06:05 -07:00
										 |  |  | end |