If brew create can't figure out the name, prompt for it

This was adapted from adamv@d5e78ee26535dec4b11c33d14832a9ee945a29fd

I decided prompting would was the most usable solution here, as the stem is
unlikely to be useful so the user would have to rename the file and change
the class name as well as type the command once and then again with --force.

Dissent welcome.

Fixes Homebrew/homebrew#15
This commit is contained in:
Max Howell 2009-09-28 17:01:44 +01:00
parent 14b3ea887a
commit 14818039ae

View File

@ -21,21 +21,16 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
def make url
def __make url, name
require 'formula'
path=Pathname.new url
/(.*?)[-_.]?#{path.version}/.match path.basename
raise "Couldn't parse name from #{url}" if $1.nil? or $1.empty?
path=Formula.path $1
path = Formula.path name
raise "#{path} already exists" if path.exist?
template=<<-EOS
require 'brewkit'
class #{Formula.class_s $1} <Formula
class #{Formula.class_s name} <Formula
url '#{url}'
homepage ''
md5 ''
@ -89,6 +84,27 @@ def make url
end
def make url
path = Pathname.new url
/(.*?)[-_.]?#{path.version}/.match path.basename
unless $1.to_s.empty?
name = $1
else
print "Formula name [#{path.stem}]: "
gots = $stdin.gets.chomp
if gots.empty?
name = path.stem
else
name = gots
end
end
__make url, name
end
def info name
require 'formula'