class Builtins::Down

Public Class Methods

description() click to toggle source
# File lib/builtins/down.rb, line 12
def description
        "stops dependent services listed in ops.yml"
end

Public Instance Methods

run() click to toggle source
# File lib/builtins/down.rb, line 17
def run
        # TODO: return a success/failure status to the caller
        unmeet_dependencies
end

Private Instance Methods

dependency_handler() click to toggle source
# File lib/builtins/down.rb, line 24
def dependency_handler
        Helpers::DependencyHandler.new(@config["dependencies"])
end
unmeet_dependencies() click to toggle source
# File lib/builtins/down.rb, line 28
def unmeet_dependencies
        dependency_handler.dependencies.each do |dependency|
                # don't even output anything for dependencies that shouldn't be considered on this machine
                next unless dependency.should_meet?

                Output.status("[#{dependency.type}] #{dependency.name}")

                unmeet_dependency(dependency)
        end
end
unmeet_dependency(dependency) click to toggle source
# File lib/builtins/down.rb, line 39
def unmeet_dependency(dependency)
        # TODO: make this simpler, and factor in `should_meet?` above, too
        dependency.unmeet if dependency.met? || dependency.always_act?

        if dependency.success?
                Output.okay
        else
                Output.failed
                Output.error("Error unmeeting #{dependency.type} dependency '#{dependency.name}':")
                Output.out(dependency.output)
        end
end