lib/guignol/commands/start.rb in guignol-0.1.2.1 vs lib/guignol/commands/start.rb in guignol-0.3.0
- old
+ new
@@ -1,42 +1,23 @@
-# Copyright (c) 2012, HouseTrip SA.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# The views and conclusions contained in the software and documentation are those
-# of the authors and should not be interpreted as representing official policies,
-# either expressed or implied, of the authors.
require 'guignol/commands/base'
-require 'guignol/instance'
+require 'guignol/models/instance'
-module Guignol::Commands
- class Start < Base
- def run_on_server(config)
- Guignol::Instance.new(config).start
+Guignol::Shell.class_eval do
+ desc 'start PATTERNS', 'Start all instances matching PATTERNS, attach their volumes, and setup DNS records'
+ def start(*patterns)
+ if patterns.empty?
+ raise Thor::Error.new('You must specify at least one PATTERN.')
end
+ Guignol::Commands::Start.new(patterns).run
+ end
+end
- def self.short_usage
- ["<regexps>", "Start instances (unless they're running) and setup DNS"]
+
+module Guignol::Commands
+ class Start < Base
+ def run_on_server(instance, options = {})
+ instance.start
end
end
end