./lib/stacco/stack.rb in stacco-0.1.27 vs ./lib/stacco/stack.rb in stacco-0.1.28
- old
+ new
@@ -102,32 +102,36 @@
end
def enable_layers(layer_names)
layer_names = layer_names.map(&:to_s)
layer_names.each do |layer_name|
- raise ArgumentError, "Layer '#{layer_name}' is not provided by the template definition" unless self.available_layers.include? layer_name
+ raise ArgumentError, "Layer '#{layer_name}' is not provided by the template definition" unless self.available_layer_names.include? layer_name
end
self.update_config do |c|
- c['layers'] = self.enabled_layers | layer_names
+ c['layers'] = self.enabled_layer_names | layer_names
end
end
def disable_layers(layer_names)
layer_names = layer_names.map(&:to_s)
self.update_config do |c|
- c['layers'] = self.enabled_layers - layer_names
+ c['layers'] = self.enabled_layer_names - layer_names
end
end
+ def enabled_layer_names
+ (self.available_layer_names & (self.config['layers'] || []))
+ end
+
def enabled_layers
- self.available_layers & (self.config['layers'] || [])
+ self.enabled_layer_names.map{ |layer_name| Stacco::Layer.load(self, layer_name) }
end
def layer_enabled?(layer_name)
- self.enabled_layers.inlude?(layer_name.to_s)
+ self.enabled_layer_names.inlude?(layer_name.to_s)
end
def aws_credentials
Hash[ *(self.config['aws'].map{ |k, v| [k.intern, v] }.flatten) ]
end
@@ -209,11 +213,15 @@
def roles
Stacco::Resources::RoleScripts.keys
end
- def available_layers
+ def available_layer_names
Stacco::Resources::LayerTemplates.keys
+ end
+
+ def available_layers
+ self.available_layer_names.map{ |layer_name| Stacco::Layer.load(self, layer_name) }
end
def up!
body_object, params = self.bake_template(publish: true)