class Dumbwaiter::Cli

Public Instance Methods

custom_recipes(stack_name, layer_name, event_name) click to toggle source
# File lib/dumbwaiter/cli.rb, line 58
def custom_recipes(stack_name, layer_name, event_name)
  stack = Stack.find(stack_name)
  layer = Layer.find(stack, layer_name)
  recipes = layer.custom_recipes.fetch(event_name.to_sym, []).join(" ")
  Kernel.puts(recipes)
rescue Dumbwaiter::Stack::NotFound, Dumbwaiter::Layer::NotFound => e
  raise Thor::Error.new(e.message)
end
deploy(stack_name, app_name, revision) click to toggle source
# File lib/dumbwaiter/cli.rb, line 9
def deploy(stack_name, app_name, revision)
  stack = Stack.find(stack_name)
  app = App.find(stack, app_name)
  app.deploy(revision)
rescue Dumbwaiter::Stack::NotFound, Dumbwaiter::App::NotFound => e
  raise Thor::Error.new(e.message)
end
layers(stack_name) click to toggle source
# File lib/dumbwaiter/cli.rb, line 82
def layers(stack_name)
  stack = Stack.find(stack_name)
  layer_names = stack.layers.map(&:shortname)
  Kernel.puts(layer_names.join(" "))
rescue Dumbwaiter::Stack::NotFound => e
  raise Thor::Error.new(e.message)
end
list(stack_name) click to toggle source
# File lib/dumbwaiter/cli.rb, line 18
def list(stack_name)
  stack = Stack.find(stack_name)

  deployments = stack.deployments.select do |deployment|
    %w(rollback deploy update_custom_cookbooks execute_recipes).include?(deployment.command_name)
  end

  deployments.each do |deployment|
    Kernel.puts(deployment.to_log)
  end
rescue Dumbwaiter::Stack::NotFound => e
  raise Thor::Error.new(e.message)
end
rechef(stack_name) click to toggle source
# File lib/dumbwaiter/cli.rb, line 33
def rechef(stack_name)
  Stack.find(stack_name).rechef
rescue Dumbwaiter::Stack::NotFound => e
  raise Thor::Error.new(e.message)
end
rollback(stack_name, app_name) click to toggle source
# File lib/dumbwaiter/cli.rb, line 40
def rollback(stack_name, app_name)
  stack = Stack.find(stack_name)
  app = App.find(stack, app_name)
  app.rollback
rescue Dumbwaiter::Stack::NotFound, Dumbwaiter::App::NotFound => e
  raise Thor::Error.new(e.message)
end
run_recipe(stack_name, layer_name, recipe) click to toggle source
# File lib/dumbwaiter/cli.rb, line 49
def run_recipe(stack_name, layer_name, recipe)
  stack = Stack.find(stack_name)
  layer = Layer.find(stack, layer_name)
  layer.run_recipe(recipe)
rescue Dumbwaiter::Stack::NotFound, Dumbwaiter::Layer::NotFound => e
  raise Thor::Error.new(e.message)
end
stacks() click to toggle source
# File lib/dumbwaiter/cli.rb, line 77
def stacks
  Stack.all.each { |stack| Kernel.puts("#{stack.name}: #{stack.apps.map(&:name).join(', ')}") }
end
update_custom_recipes(stack_name, layer_name, event_name, *recipes) click to toggle source
# File lib/dumbwaiter/cli.rb, line 68
def update_custom_recipes(stack_name, layer_name, event_name, *recipes)
  stack = Stack.find(stack_name)
  layer = Layer.find(stack, layer_name)
  layer.update_custom_recipes(event_name.to_sym, recipes)
rescue Dumbwaiter::Stack::NotFound, Dumbwaiter::Layer::NotFound => e
  raise Thor::Error.new(e.message)
end