~ / .rake é o seu diretório rake global. Rake conhece as tarefas que você escreve lá.
Crie um arquivo rake, digamos, sinatra.rake
desc "Create a directory structure for Sinatra classic app"
task :create_sinatra do
sh "mkdir public"
sh "touch app.rb"
sh "mkdir public/js"
sh "mkdir public/css"
sh "mkdir public/images"
end
A descrição é obrigatória para tarefas globais de rake. E então, “cd” no diretório do seu aplicativo e execute:
rake -g create_sinatra
ou
rake --system create_sinatra
Opcionalmente, você pode especificar um nome de diretório. O script seria:
Hattip: http://itshouldbeuseful.wordpress.com/2011/11/07/passing-parameters-to-a-rake-task/
desc "Create a directory structure for Sinatra classic app in a specified directory"
task :create_sinatra_in do
dir = ARGV.count > 2 ? ARGV.last : "."
sh "mkdir #{dir}" unless dir == "."
sh "mkdir #{dir}/public"
sh "touch #{dir}/app.rb"
sh "mkdir #{dir}/public/js"
sh "mkdir #{dir}/public/css"
sh "mkdir #{dir}/public/images"
end
e executá-lo com
rake -g create_sinatra
que cria uma estrutura de dir no diretório atual. Ou,
rake -g create_sinatra 'myapp/appfolder'
que irá criar a estrutura no diretório ‘myapp / appfolder’