class Dumbwaiter::App
Attributes
opsworks[R]
opsworks_app[R]
stack[R]
Public Class Methods
all(stack, opsworks = Aws::OpsWorks::Client.new(region: "us-east-1"))
click to toggle source
# File lib/dumbwaiter/app.rb, line 8 def self.all(stack, opsworks = Aws::OpsWorks::Client.new(region: "us-east-1")) opsworks.describe_apps(stack_id: stack.id).apps.map { |app| new(stack, app, opsworks) } end
find(stack, app_name, opsworks = Aws::OpsWorks::Client.new(region: "us-east-1"))
click to toggle source
# File lib/dumbwaiter/app.rb, line 12 def self.find(stack, app_name, opsworks = Aws::OpsWorks::Client.new(region: "us-east-1")) app = all(stack, opsworks).detect { |app| app.name == app_name } raise NotFound.new("No app found with name #{app_name}") if app.nil? app end
find_by_id(stack, app_id, opsworks = Aws::OpsWorks::Client.new(region: "us-east-1"))
click to toggle source
# File lib/dumbwaiter/app.rb, line 18 def self.find_by_id(stack, app_id, opsworks = Aws::OpsWorks::Client.new(region: "us-east-1")) app = all(stack, opsworks).detect { |app| app.id == app_id } raise NotFound.new("No app found with id #{app_id}") if app.nil? app end
new(stack, opsworks_app, opsworks = Aws::OpsWorks::Client.new(region: "us-east-1"))
click to toggle source
# File lib/dumbwaiter/app.rb, line 24 def initialize(stack, opsworks_app, opsworks = Aws::OpsWorks::Client.new(region: "us-east-1")) @stack = stack @opsworks_app = opsworks_app @opsworks = opsworks end
Public Instance Methods
deploy(revision = nil)
click to toggle source
# File lib/dumbwaiter/app.rb, line 46 def deploy(revision = nil) deployment = as_deployment("deploy", args: {migrate: ["true"]}) unless revision.nil? custom_json = Dumbwaiter::DeploymentCustomJson.create(name, revision) deployment[:custom_json] = custom_json.to_json end opsworks.create_deployment(deployment) end
id()
click to toggle source
# File lib/dumbwaiter/app.rb, line 34 def id opsworks_app.app_id end
name()
click to toggle source
# File lib/dumbwaiter/app.rb, line 30 def name opsworks_app.name end
revision()
click to toggle source
# File lib/dumbwaiter/app.rb, line 42 def revision opsworks_app.app_source.revision || "master" end
rollback()
click to toggle source
# File lib/dumbwaiter/app.rb, line 55 def rollback opsworks.create_deployment(as_deployment("rollback")) end
url()
click to toggle source
# File lib/dumbwaiter/app.rb, line 38 def url opsworks_app.app_source.url end
Protected Instance Methods
as_deployment(command_name, args = {})
click to toggle source
# File lib/dumbwaiter/app.rb, line 61 def as_deployment(command_name, args = {}) { app_id: id, stack_id: stack.id, command: {name: command_name}.merge(args), } end