class Builtins::Up
Public Class Methods
description()
click to toggle source
# File lib/builtins/up.rb, line 13 def description "attempts to meet dependencies listed in ops.yml" end
Public Instance Methods
run()
click to toggle source
# File lib/builtins/up.rb, line 18 def run # TODO: return a success/failure status to the caller meet_dependencies end
Private Instance Methods
dependency_handler()
click to toggle source
# File lib/builtins/up.rb, line 25 def dependency_handler Helpers::DependencyHandler.new(deps_to_meet) end
deps_to_meet()
click to toggle source
# File lib/builtins/up.rb, line 53 def deps_to_meet return @config["dependencies"] if @args.empty? return @config["dependencies"].select { |dep, names| @args.include?(dep) } end
meet_dependencies()
click to toggle source
# File lib/builtins/up.rb, line 29 def meet_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}") meet_dependency(dependency) end end
meet_dependency(dependency)
click to toggle source
# File lib/builtins/up.rb, line 40 def meet_dependency(dependency) # TODO: make this simpler, and factor in `should_meet?` above, too dependency.meet if !dependency.met? || dependency.always_act? if dependency.success? Output.okay else Output.failed Output.error("Error meeting #{dependency.type} dependency '#{dependency.name}':") Output.out(dependency.output) end end