You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
670 B
34 lines
670 B
module Cask::CLI::Create
|
|
def self.run(*arguments)
|
|
cask_name, *_ = *arguments
|
|
cask_path = Cask.path(cask_name)
|
|
|
|
if cask_path.exist?
|
|
raise CaskAlreadyCreatedError.new cask_name
|
|
end
|
|
|
|
File.open(cask_path, 'w') do |f|
|
|
f.write template(cask_name)
|
|
end
|
|
|
|
exec_editor cask_path
|
|
end
|
|
|
|
def self.template(cask_name);
|
|
cask_class = cask_name.split('-').map(&:capitalize).join
|
|
<<-EOS.undent
|
|
class #{cask_class} < Cask
|
|
url ''
|
|
homepage ''
|
|
version ''
|
|
sha1 ''
|
|
link :app, ''
|
|
end
|
|
EOS
|
|
end
|
|
|
|
def self.help
|
|
"creates a cask of the given name and opens it in an editor"
|
|
end
|
|
end
|
|
|
|
|