Overriding Object.class was not my intention
Renamed to Formula::class_s.
This commit is contained in:
		
							parent
							
								
									d62fd87436
								
							
						
					
					
						commit
						f0f59659dd
					
				@ -35,7 +35,7 @@ def make url
 | 
			
		||||
  template=<<-EOS
 | 
			
		||||
            require 'brewkit'
 | 
			
		||||
 | 
			
		||||
            class #{Formula.class $1} <Formula
 | 
			
		||||
            class #{Formula.class_s $1} <Formula
 | 
			
		||||
              @url='#{url}'
 | 
			
		||||
              @homepage=''
 | 
			
		||||
              @md5=''
 | 
			
		||||
 | 
			
		||||
@ -151,14 +151,14 @@ class Formula
 | 
			
		||||
    "-DCMAKE_INSTALL_PREFIX='#{prefix}' -DCMAKE_BUILD_TYPE=None"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def self.class name
 | 
			
		||||
  def self.class_s name
 | 
			
		||||
    #remove invalid characters and camelcase
 | 
			
		||||
    name.capitalize.gsub(/[-_\s]([a-zA-Z0-9])/) { $1.upcase }
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def self.factory name
 | 
			
		||||
    require self.path(name)
 | 
			
		||||
    return eval(self.class(name)).new(name)
 | 
			
		||||
    return eval(self.class_s(name)).new(name)
 | 
			
		||||
  rescue LoadError
 | 
			
		||||
    raise FormulaUnavailableError.new(name)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@ -318,7 +318,7 @@ class BeerTasting <Test::Unit::TestCase
 | 
			
		||||
  
 | 
			
		||||
  FOOBAR='foo-bar'
 | 
			
		||||
  def test_formula_funcs
 | 
			
		||||
    classname=Formula.class(FOOBAR)
 | 
			
		||||
    classname=Formula.class_s(FOOBAR)
 | 
			
		||||
    path=Formula.path(FOOBAR)
 | 
			
		||||
    
 | 
			
		||||
    assert_equal "FooBar", classname
 | 
			
		||||
@ -471,4 +471,10 @@ class BeerTasting <Test::Unit::TestCase
 | 
			
		||||
    
 | 
			
		||||
    assert_raises(RuntimeError) {Pathname.getwd.install 'non_existant_file'}
 | 
			
		||||
  end
 | 
			
		||||
  
 | 
			
		||||
  def test_formula_class_func
 | 
			
		||||
    assert_equal Formula.class_s('s-lang'), 'SLang'
 | 
			
		||||
    assert_equal Formula.class_s('pkg-config'), 'PkgConfig'
 | 
			
		||||
    assert_equal Formula.class_s('foo_bar'), 'FooBar'
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user