Add RubyRequirement.
This commit is contained in:
		
							parent
							
								
									f0eca11d6b
								
							
						
					
					
						commit
						305ced5360
					
				@ -116,6 +116,7 @@ class DependencyCollector
 | 
			
		||||
    when :python     then PythonDependency.new(tags)
 | 
			
		||||
    when :python3    then Python3Dependency.new(tags)
 | 
			
		||||
    when :java       then JavaDependency.new(tags)
 | 
			
		||||
    when :ruby       then RubyRequirement.new(tags)
 | 
			
		||||
    when :osxfuse    then OsxfuseDependency.new(tags)
 | 
			
		||||
    when :tuntap     then TuntapDependency.new(tags)
 | 
			
		||||
    when :ant        then ant_dep(spec, tags)
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,7 @@ require 'requirements/mpi_dependency'
 | 
			
		||||
require 'requirements/osxfuse_dependency'
 | 
			
		||||
require 'requirements/python_dependency'
 | 
			
		||||
require 'requirements/java_dependency'
 | 
			
		||||
require 'requirements/ruby_requirement'
 | 
			
		||||
require 'requirements/tuntap_dependency'
 | 
			
		||||
require 'requirements/unsigned_kext_requirement'
 | 
			
		||||
require 'requirements/x11_dependency'
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										33
									
								
								Library/Homebrew/requirements/ruby_requirement.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								Library/Homebrew/requirements/ruby_requirement.rb
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
			
		||||
class RubyRequirement < Requirement
 | 
			
		||||
  fatal true
 | 
			
		||||
  #default_formula "ruby"
 | 
			
		||||
 | 
			
		||||
  def initialize(tags)
 | 
			
		||||
    @version = tags.shift if /(\d\.)+\d/ === tags.first
 | 
			
		||||
    raise "RubyRequirement requires a version!" unless @version
 | 
			
		||||
    super
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  satisfy :build_env => false do
 | 
			
		||||
    next unless which "ruby"
 | 
			
		||||
    version = /\d\.\d/.match `ruby --version 2>&1`
 | 
			
		||||
    next unless version
 | 
			
		||||
    Version.new(version.to_s) >= Version.new(@version)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  env do
 | 
			
		||||
    ENV.prepend_path "PATH", which("ruby").dirname
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def message
 | 
			
		||||
    version_string = " #{@version}" if @version
 | 
			
		||||
 | 
			
		||||
    s = "Ruby#{version_string} is required to install this formula."
 | 
			
		||||
    s += super
 | 
			
		||||
    s
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def inspect
 | 
			
		||||
    "#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user