class K8s::ResourceClient
Public Class Methods
new(transport, api_client, api_resource, namespace: nil, resource_class: K8s::Resource)
click to toggle source
# File lib/hetzner/k3s/client_patch.rb, line 3 def initialize(transport, api_client, api_resource, namespace: nil, resource_class: K8s::Resource) @transport = transport @api_client = api_client @api_resource = api_resource @namespace = namespace @resource_class = resource_class if @api_resource.name.include? '/' @resource, @subresource = @api_resource.name.split('/', 2) else @resource = @api_resource.name @subresource = nil end # fail "Resource #{api_resource.name} is not namespaced" unless api_resource.namespaced || !namespace end
Public Instance Methods
path(name = nil, subresource: @subresource, namespace: @namespace)
click to toggle source
# File lib/hetzner/k3s/client_patch.rb, line 20 def path(name = nil, subresource: @subresource, namespace: @namespace) namespace_part = namespace ? ['namespaces', namespace] : [] if namespaced? if name && subresource @api_client.path(*namespace_part, @resource, name, subresource) elsif name @api_client.path(*namespace_part, @resource, name) else namespaced? @api_client.path(*namespace_part, @resource) end elsif name @api_client.path(@resource, name) else @api_client.path(@resource) end end