Sha256: 3a47504cb0582a0c2187c6339e035732172bf929e5bf88bb0af6d3af2126561c
Contents?: true
Size: 990 Bytes
Versions: 27
Compression:
Stored size: 990 Bytes
Contents
class KuberKit::Kubernetes::ResourceSelector include KuberKit::Import[ "kubernetes.resources_fetcher", "shell.local_shell", "ui" ] Contract String, KeywordArgs[ immediate_resource: Optional[String], additional_resources: Optional[ArrayOf[String]] ] => Any def call(action_name, immediate_resource: "deploy", additional_resources: []) deployments = resources_fetcher.call(immediate_resource) options = deployments.map{|d| "#{immediate_resource}/#{d}" } options += additional_resources option = ui.prompt("Please select resource to #{action_name}", options) additional_resources.each do |resource_name| if option == resource_name && additional_resources.include?(resource_name) ingresses = resources_fetcher.call(resource_name) options = ingresses.map{|d| "#{resource_name}/#{d}" } return ui.prompt("Please select #{resource_name} to #{action_name}", options) end end option end end
Version data entries
27 entries across 27 versions & 1 rubygems