class Kustomize::PluginRegistry

Attributes

probe_queue[R]

Public Class Methods

new() click to toggle source
# File lib/kustomize/plugin_registry.rb, line 8
def initialize
  @klasses = {}
  @probe_queue = []
end

Public Instance Methods

get(api_version:, kind:) click to toggle source
# File lib/kustomize/plugin_registry.rb, line 15
def get(api_version:, kind:)
  drain_probe_queue!

  rc_target_id = make_rc_target_id(api_version, kind)
  @klasses[rc_target_id]
end

Private Instance Methods

drain_probe_queue!() click to toggle source
# File lib/kustomize/plugin_registry.rb, line 23
def drain_probe_queue!
  return if @probe_queue.empty?

  while plugin_klass = @probe_queue.shift
    rc_target_id = make_rc_target_id(
      plugin_klass.kustomize_plugin_match_api_version,
      plugin_klass.kustomize_plugin_match_kind
    )
    @klasses[rc_target_id] = plugin_klass
  end
end
make_rc_target_id(api_version, kind) click to toggle source
# File lib/kustomize/plugin_registry.rb, line 36
def make_rc_target_id(api_version, kind)
  [api_version, kind].join('/').to_s.intern
end