lib/yodel/command/command.rb in yodel-0.0.3 vs lib/yodel/command/command.rb in yodel-0.0.4
- old
+ new
@@ -3,11 +3,11 @@
Encoding.default_external = "utf-8"
class CommandRunner
def self.run
OptionParser.new do |opts|
- opts.banner = "Usage: yodel [options] server|dns|console|migrate|setup|deploy"
+ opts.banner = "Usage: yodel [options] server|dns|restart|console|migrate|deploy|setup|update"
opts.on('-p', '--port PORT', Integer, 'Override the default web server port') do |port|
$web_port = port
end
opts.on('-e', '--environment ENV', 'Web server environment (default development)', 'development', 'production') do |env|
@@ -71,22 +71,38 @@
when 'migrate'
require '../../yodel'
Yodel.config.extensions_folder = $extensions_folder if $extensions_folder
$application = Application.new
- Site.all.each do |site|
- Migration.run_migrations(site)
- end
+ Migration.run_migrations_for_all_sites
when 'deploy'
require '../../yodel'
Yodel.config.extensions_folder = $extensions_folder if $extensions_folder
require './deploy'
Deploy.new.deploy_site
when 'setup'
require './installer'
Installer.new.install_system_files
+
+ when 'restart'
+ require './restart'
+ if Restart.can_restart?
+ Restart.restart!
+ else
+ puts "Restart can only be run on OS X machines"
+ end
+
+ when 'update'
+ require '../../yodel'
+ require './restart'
+ Yodel.config.extensions_folder = $extensions_folder if $extensions_folder
+ $application = Application.new
+
+ Migration.copy_missing_migrations_for_all_sites
+ Migration.run_migrations_for_all_sites
+ Restart.restart! if Restart.can_restart?
else
puts "Unknown command: #{command}"
end
end