Class: Consist::Recipes

Inherits:
Object
  • Object
show all
Includes:
SSHKit::DSL
Defined in:
lib/consist/recipes.rb

Instance Method Summary collapse

Constructor Details

#initialize(server_ip) ⇒ Recipes

Returns a new instance of Recipes.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/consist/recipes.rb', line 7

def initialize(server_ip)
  recipe_directory = File.expand_path("../recipes", __dir__)
  recipes = Dir[File.join(recipe_directory, "*.rb")]

  recipes.each do |recipe_file|
    recipe_content = File.read(recipe_file)
    recipe = Recipe.new { instance_eval(recipe_content) }

    puts "Executing Recipe: #{recipe.name}"
    recipe.steps.each do |step|
      puts "Executing Step: #{step.name}"

      on("#{step.required_user}@#{server_ip}") do
        step.perform(self)
      end
    end

    puts "Execution of #{recipe.name} has completed."
  end
end