class KubeDeployTools::Kdt
Constants
- DESCRIPTIONS
Public Class Methods
new(path, args)
click to toggle source
# File lib/kube_deploy_tools/kdt.rb, line 14 def initialize(path, args) KubeDeployTools::Logger.logger = KubeDeployTools::FormattedLogger.build @path = path @args = args end
Public Instance Methods
bins_names()
click to toggle source
# File lib/kube_deploy_tools/kdt.rb, line 21 def bins_names @bins ||= Dir["#{@path}/*"].map { |x| File.basename(x) } - ['kdt'] end
display_bins()
click to toggle source
# File lib/kube_deploy_tools/kdt.rb, line 25 def display_bins # Print full runtime version version = Gem.loaded_specs["kube_deploy_tools"].version puts "kube_deploy_tools #{version}" bins_names.each do |bin| spaces_count = 25 - bin.size puts "-> #{bin}#{' ' * spaces_count}| #{DESCRIPTIONS[bin]}" end end
execute!()
click to toggle source
# File lib/kube_deploy_tools/kdt.rb, line 36 def execute! bin = @args.first raise "command '#{bin}' is not a valid command" unless valid_bin?(bin) bin_with_path = "#{@path}/#{bin}" bin_args = @args[1..-1] # calling exec with multiple args will prevent shell expansion # https://ruby-doc.org/core/Kernel.html#method-i-exec exec bin_with_path, *bin_args end
valid_bin?(bin)
click to toggle source
# File lib/kube_deploy_tools/kdt.rb, line 48 def valid_bin?(bin) bins_names.include?(bin) end