mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Move Formula.class_s to Formulary
This commit is contained in:
parent
fb350bad0f
commit
41a9ba8259
@ -121,7 +121,7 @@ class FormulaCreator
|
|||||||
# #{HOMEBREW_CONTRIB}/example-formula.rb
|
# #{HOMEBREW_CONTRIB}/example-formula.rb
|
||||||
# PLEASE REMOVE ALL GENERATED COMMENTS BEFORE SUBMITTING YOUR PULL REQUEST!
|
# PLEASE REMOVE ALL GENERATED COMMENTS BEFORE SUBMITTING YOUR PULL REQUEST!
|
||||||
|
|
||||||
class #{Formula.class_s name} < Formula
|
class #{Formulary.class_s name} < Formula
|
||||||
homepage ""
|
homepage ""
|
||||||
url "#{url}"
|
url "#{url}"
|
||||||
<% unless version.nil? or version.detected_from_url? %>
|
<% unless version.nil? or version.detected_from_url? %>
|
||||||
|
@ -348,11 +348,8 @@ class Formula
|
|||||||
alias_method :python2, :python
|
alias_method :python2, :python
|
||||||
alias_method :python3, :python
|
alias_method :python3, :python
|
||||||
|
|
||||||
# Generates a formula's ruby class name from a formula's name
|
|
||||||
def self.class_s name
|
def self.class_s name
|
||||||
# remove invalid characters and then camelcase it
|
Formulary.class_s(name)
|
||||||
name.capitalize.gsub(/[-_.\s]([a-zA-Z0-9])/) { $1.upcase } \
|
|
||||||
.gsub('+', 'x')
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# an array of all Formula names
|
# an array of all Formula names
|
||||||
|
@ -2,24 +2,31 @@
|
|||||||
class Formulary
|
class Formulary
|
||||||
|
|
||||||
def self.unload_formula formula_name
|
def self.unload_formula formula_name
|
||||||
Object.send(:remove_const, Formula.class_s(formula_name))
|
Object.send(:remove_const, class_s(formula_name))
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.formula_class_defined? formula_name
|
def self.formula_class_defined? formula_name
|
||||||
Object.const_defined?(Formula.class_s(formula_name))
|
Object.const_defined?(class_s(formula_name))
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.get_formula_class formula_name
|
def self.get_formula_class formula_name
|
||||||
Object.const_get(Formula.class_s(formula_name))
|
Object.const_get(class_s(formula_name))
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.restore_formula formula_name, value
|
def self.restore_formula formula_name, value
|
||||||
old_verbose, $VERBOSE = $VERBOSE, nil
|
old_verbose, $VERBOSE = $VERBOSE, nil
|
||||||
Object.const_set(Formula.class_s(formula_name), value)
|
Object.const_set(class_s(formula_name), value)
|
||||||
ensure
|
ensure
|
||||||
$VERBOSE = old_verbose
|
$VERBOSE = old_verbose
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.class_s name
|
||||||
|
name = name.capitalize
|
||||||
|
name.gsub!(/[-_.\s]([a-zA-Z0-9])/) { $1.upcase }
|
||||||
|
name.gsub!('+', 'x')
|
||||||
|
name
|
||||||
|
end
|
||||||
|
|
||||||
# A FormulaLoader returns instances of formulae.
|
# A FormulaLoader returns instances of formulae.
|
||||||
# Subclasses implement loaders for particular sources of formulae.
|
# Subclasses implement loaders for particular sources of formulae.
|
||||||
class FormulaLoader
|
class FormulaLoader
|
||||||
|
@ -129,11 +129,11 @@ class FormulaTests < Test::Unit::TestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_class_naming
|
def test_class_naming
|
||||||
assert_equal 'ShellFm', Formula.class_s('shell.fm')
|
assert_equal 'ShellFm', Formulary.class_s('shell.fm')
|
||||||
assert_equal 'Fooxx', Formula.class_s('foo++')
|
assert_equal 'Fooxx', Formulary.class_s('foo++')
|
||||||
assert_equal 'SLang', Formula.class_s('s-lang')
|
assert_equal 'SLang', Formulary.class_s('s-lang')
|
||||||
assert_equal 'PkgConfig', Formula.class_s('pkg-config')
|
assert_equal 'PkgConfig', Formulary.class_s('pkg-config')
|
||||||
assert_equal 'FooBar', Formula.class_s('foo_bar')
|
assert_equal 'FooBar', Formulary.class_s('foo_bar')
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_formula_spec_integration
|
def test_formula_spec_integration
|
||||||
@ -180,7 +180,7 @@ class FormulaTests < Test::Unit::TestCase
|
|||||||
File.open(path, 'w') do |f|
|
File.open(path, 'w') do |f|
|
||||||
f << %{
|
f << %{
|
||||||
require 'formula'
|
require 'formula'
|
||||||
class #{Formula.class_s(name)} < Formula
|
class #{Formulary.class_s(name)} < Formula
|
||||||
url 'foo-1.0'
|
url 'foo-1.0'
|
||||||
def initialize(*args)
|
def initialize(*args)
|
||||||
@homepage = 'http://example.com/'
|
@homepage = 'http://example.com/'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user