Class: Avocado::TaskExecutionEnvironment
- Inherits:
-
Object
- Object
- Avocado::TaskExecutionEnvironment
- Defined in:
- lib/avocado/task/task_execution_environment.rb
Direct Known Subclasses
LocalTaskExecutionEnvironment, RemoteTaskExecutionEnvironment
Instance Method Summary collapse
-
#check_util_availability(utils, system_name) ⇒ Object
Checks, if all utilities are available for the deployment process to be executed.
-
#get(key) ⇒ mixed
Returns a configuration item if set.
-
#handle_abort(e) ⇒ Object
Shorthand for exception handling.
-
#initialize(config) ⇒ TaskExecutionEnvironment
constructor
Initialized the environment.
-
#log ⇒ Logger
Returns the logger instance.
-
#scm_provider=(scm_provider) ⇒ Object
Assigns the scm provider.
-
#set(key, value) ⇒ Object
Sets a configuration item.
Constructor Details
#initialize(config) ⇒ TaskExecutionEnvironment
Initialized the environment
25 26 27 28 |
# File 'lib/avocado/task/task_execution_environment.rb', line 25 def initialize(config) # @todo check @config = config end |
Instance Method Details
#check_util_availability(utils, system_name) ⇒ Object
Checks, if all utilities are available for the deployment process to be executed
41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/avocado/task/task_execution_environment.rb', line 41 def check_util_availability(utils, system_name) begin utils.each do |util| if command("command -v #{util} >/dev/null 2>&1 || exit 1;").retval == 1 msg = "command line utility '#{util}' is not installed #{system_name}" raise RuntimeError, msg end end rescue Exception => e handle_abort e end end |
#get(key) ⇒ mixed
Returns a configuration item if set
74 75 76 |
# File 'lib/avocado/task/task_execution_environment.rb', line 74 def get(key) @config[key] end |
#handle_abort(e) ⇒ Object
Shorthand for exception handling
81 82 83 |
# File 'lib/avocado/task/task_execution_environment.rb', line 81 def handle_abort(e) Avocado::Deployment.instance.handle_abort(e) end |
#log ⇒ Logger
Returns the logger instance
58 59 60 |
# File 'lib/avocado/task/task_execution_environment.rb', line 58 def log Avocado::Deployment.instance.log end |
#scm_provider=(scm_provider) ⇒ Object
Assigns the scm provider
33 34 35 |
# File 'lib/avocado/task/task_execution_environment.rb', line 33 def scm_provider=(scm_provider) @scm = scm_provider end |
#set(key, value) ⇒ Object
Sets a configuration item
66 67 68 |
# File 'lib/avocado/task/task_execution_environment.rb', line 66 def set(key, value) @config[key] = value end |