38 lines
899 B
Ruby
38 lines
899 B
Ruby
![]() |
class Hbc::CLI::Create < Hbc::CLI::Base
|
||
|
def self.run(*args)
|
||
|
cask_tokens = cask_tokens_from(args)
|
||
|
raise Hbc::CaskUnspecifiedError if cask_tokens.empty?
|
||
|
cask_token = cask_tokens.first.sub(%r{\.rb$}i, "")
|
||
|
cask_path = Hbc.path(cask_token)
|
||
|
odebug "Creating Cask #{cask_token}"
|
||
|
|
||
|
raise Hbc::CaskAlreadyCreatedError, cask_token if cask_path.exist?
|
||
|
|
||
|
File.open(cask_path, "w") do |f|
|
||
|
f.write template(cask_token)
|
||
|
end
|
||
|
|
||
|
exec_editor cask_path
|
||
|
end
|
||
|
|
||
|
def self.template(cask_token)
|
||
|
<<-EOS.undent
|
||
|
cask '#{cask_token}' do
|
||
|
version ''
|
||
|
sha256 ''
|
||
|
|
||
|
url 'https://'
|
||
|
name ''
|
||
|
homepage ''
|
||
|
license :unknown # TODO: change license and remove this comment; ':unknown' is a machine-generated placeholder
|
||
|
|
||
|
app ''
|
||
|
end
|
||
|
EOS
|
||
|
end
|
||
|
|
||
|
def self.help
|
||
|
"creates the given Cask and opens it in an editor"
|
||
|
end
|
||
|
end
|