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