class Itamae::RecipeChildren
Constants
- NotFoundError
Public Instance Methods
_dependency_in_dot()
click to toggle source
# File lib/itamae/recipe_children.rb, line 73 def _dependency_in_dot result = "" recipes(recursive: false).each do |recipe| recipe.children.recipes(recursive: false).each do |child_recipe| result << %{ "#{recipe.path}" -> "#{child_recipe.path}";\n} end result << recipe.children._dependency_in_dot end result end
dependency_in_dot()
click to toggle source
returns dependencies graph in DOT
# File lib/itamae/recipe_children.rb, line 63 def dependency_in_dot result = "" result << "digraph recipes {\n" result << " rankdir=LR;\n" result << _dependency_in_dot result << "}" result end
find_recipe_by_path(path)
click to toggle source
# File lib/itamae/recipe_children.rb, line 25 def find_recipe_by_path(path) recipes.find do |recipe| recipe.path == path end end
find_resource_by_description(desc)
click to toggle source
# File lib/itamae/recipe_children.rb, line 5 def find_resource_by_description(desc) # desc is like 'resource_type[name]' resources.find do |resource| type, name = Itamae::Resource.parse_description(desc) resource.resource_type == type && resource.resource_name == name end.tap do |resource| unless resource raise NotFoundError, "'#{desc}' resource is not found." end end end
recipes(options = {})
click to toggle source
# File lib/itamae/recipe_children.rb, line 42 def recipes(options = {}) options = {recursive: true}.merge(options) self.select do |item| item.is_a?(Recipe) end.map do |recipe| if options[:recursive] [recipe] + recipe.children.recipes else recipe end end.flatten end
resources()
click to toggle source
# File lib/itamae/recipe_children.rb, line 31 def resources self.map do |item| case item when Resource::Base item when Recipe item.children.resources end end.flatten end
run()
click to toggle source
# File lib/itamae/recipe_children.rb, line 56 def run self.each do |resource| resource.run end end
subscribing(target)
click to toggle source
# File lib/itamae/recipe_children.rb, line 17 def subscribing(target) resources.map do |resource| resource.subscriptions.select do |subscription| subscription.resource == target end end.flatten end