lib/chicken_soup/capabilities.rb in chicken_soup-0.1.0 vs lib/chicken_soup/capabilities.rb in chicken_soup-0.2.0
- old
+ new
@@ -1,16 +1,31 @@
######################################################################
-# CAPABILITIES SETUP #
+# CAPABILITIES SETUP
+#
+# Beginning here, the deployment will utilize the :capabilities array
+# which should have been set in the deploy.rb file. If :capabilites
+# was not set, then nothing else is loaded.
+#
+# If it was set, we first load all of the default values for each
+# capability's environment variables.
+#
+# Next, we verify that each capability has what it needs to proceed
+# through the rest of the deployment. If not, the deployment will
+# abort.
+#
######################################################################
Capistrano::Configuration.instance(:must_exist).load do
require 'chicken_soup/capabilities/defaults'
require "chicken_soup/capabilities/checks"
+ require "chicken_soup/capabilities/tasks"
- desc "[internal] This task is only here because `require` cannot be used within a `namespace`"
- task :load_capabilities do
- require "chicken_soup/capabilities/#{deployment_type}"
+ ['defaults', 'checks', 'tasks'].each do |method|
+ desc "[internal] This task is only here because `require` cannot be used within a `namespace`"
+ task "load_capability_#{method}".to_sym do
+ require_if_exists "chicken_soup/capabilities/#{deployment_type}/#{deployment_type}-#{method}"
- fetch(:capabilities).each do |capability|
- require "chicken_soup/capabilities/#{capability}"
+ fetch(:capabilities).each do |capability|
+ require_if_exists "chicken_soup/capabilities/#{capability}/#{capability}-#{method}"
+ end
end
end
end