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

Version Path
kuber_kit-1.3.9 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.3.8 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.3.7 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.1.8 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.3.6 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.1.7 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.3.5 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.3.4 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.1.6 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.3.3 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.3.2 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.1.5 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.3.1 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.3.0 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.1.4 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.2.7 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.2.6 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.2.5 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.2.4 lib/kuber_kit/kubernetes/resource_selector.rb
kuber_kit-1.2.2 lib/kuber_kit/kubernetes/resource_selector.rb