class EY::Serverside::CLI::Workflows::Base
Attributes
options[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/engineyard-serverside/cli/workflows/base.rb, line 15 def initialize(options = {}) @options = options end
perform(options = {})
click to toggle source
# File lib/engineyard-serverside/cli/workflows/base.rb, line 33 def self.perform(options = {}) new(options).perform end
Public Instance Methods
perform()
click to toggle source
# File lib/engineyard-serverside/cli/workflows/base.rb, line 19 def perform shell.debug "Initializing #{About.name_with_version}." begin procedure rescue EY::Serverside::RemoteFailure => remote_error shell.fatal(remote_error.message) raise rescue Exception => error shell.fatal("#{error.backtrace[0]}: #{error.message} (#{error.class})") raise end end
Private Instance Methods
config()
click to toggle source
# File lib/engineyard-serverside/cli/workflows/base.rb, line 38 def config @config ||= EY::Serverside::Deploy::Configuration.new(options) end
procedure()
click to toggle source
# File lib/engineyard-serverside/cli/workflows/base.rb, line 65 def procedure raise Undefined.new( "You must define the private procedure method for your workflow." ) end
propagate_serverside()
click to toggle source
# File lib/engineyard-serverside/cli/workflows/base.rb, line 71 def propagate_serverside EY::Serverside::Propagator.propagate(servers, shell) end
servers()
click to toggle source
# File lib/engineyard-serverside/cli/workflows/base.rb, line 52 def servers @servers ||= EY::Serverside::Servers.from_hashes( EY::Serverside::CLI::ServerHashExtractor.hashes(options, config), shell ) end
shell()
click to toggle source
# File lib/engineyard-serverside/cli/workflows/base.rb, line 42 def shell @shell ||= EY::Serverside::Shell.new( :verbose => config.verbose, :log_path => File.join( ENV['HOME'], "#{config.app}-#{task_name}.log" ) ) end
task_name()
click to toggle source
# File lib/engineyard-serverside/cli/workflows/base.rb, line 59 def task_name raise Undefined.new( "You must define the private task_name method for your workflow." ) end