class EY::Serverside::Callbacks::Executor::Executable
Public Instance Methods
calculate_wrapper(input = {})
click to toggle source
# File lib/engineyard-serverside/callbacks/executor/executable.rb, line 46 def calculate_wrapper(input = {}) Success( input.merge( { :wrapper => hook.respond_to?(:service_name) ? About.service_hook_executor : About.hook_executor } ) ) end
current_name()
click to toggle source
# File lib/engineyard-serverside/callbacks/executor/executable.rb, line 111 def current_name name = config.current_name unless name return nil end name.to_s end
current_roles()
click to toggle source
# File lib/engineyard-serverside/callbacks/executor/executable.rb, line 107 def current_roles config.current_roles.to_a.join(' ') end
handle_failure(payload = {})
click to toggle source
# File lib/engineyard-serverside/callbacks/executor/executable.rb, line 18 def handle_failure(payload = {}) case payload[:reason] when :not_executable true when :execution_failed abort "*** [Error] Hook failed to exit cleanly: #{hook_path} ***\n" else abort "*** [Error] An unknown error occurred for hook: #{hook_path} ***\n" end end
populate_environment(input = {})
click to toggle source
# File lib/engineyard-serverside/callbacks/executor/executable.rb, line 78 def populate_environment(input = {}) env = { 'EY_DEPLOY_ACCOUNT_NAME' => config.account_name, 'EY_DEPLOY_APP' => config.app, 'EY_DEPLOY_CONFIG' => config.to_json, 'EY_DEPLOY_CURRENT_ROLES' => current_roles, 'EY_DEPLOY_CURRENT_NAME' => current_name, 'EY_DEPLOY_ENVIRONMENT_NAME' => config.environment_name, 'EY_DEPLOY_FRAMEWORK_ENV' => config.framework_env.to_s, 'EY_DEPLOY_RELEASE_PATH' => paths.active_release.to_s, 'EY_DEPLOY_VERBOSE' => verbose, } Success( input.merge( { :environment => env. reject {|name, value| value.nil?}. map {|name, value| "#{name}=#{Escape.shell_command([value])}"}. join(' ') } ) ) end
run_hook(input = {})
click to toggle source
# File lib/engineyard-serverside/callbacks/executor/executable.rb, line 58 def run_hook(input = {}) env = "#{input[:environment]} #{config.framework_envs}" wrapper = input[:wrapper] name = hook.short_name result = run("#{env} #{wrapper} #{name}") unless result.success? return Failure( input.merge( { :reason => :execution_failed } ) ) end Success(input) end
validate_hook(input = {})
click to toggle source
# File lib/engineyard-serverside/callbacks/executor/executable.rb, line 30 def validate_hook(input = {}) unless hook_path.executable? shell.warning("Skipping possible deploy hook #{hook} because it is not executable.") return Failure( input.merge( { :reason => :not_executable } ) ) end Success(input) end
verbose()
click to toggle source
# File lib/engineyard-serverside/callbacks/executor/executable.rb, line 103 def verbose config.verbose ? '1' : '0' end