Class: Kustomize::Emitter::GeneratorPluginsEmitter

Inherits:
Kustomize::Emitter show all
Defined in:
lib/kustomize/emitter/generator_plugins_emitter.rb

Instance Method Summary collapse

Methods inherited from Kustomize::Emitter

#input_emitters, #input_resources, #inspect, #to_yaml_stream

Constructor Details

#initialize(plugin_rc_emitters, session:) ⇒ GeneratorPluginsEmitter

Returns a new instance of GeneratorPluginsEmitter.



4
5
6
7
# File 'lib/kustomize/emitter/generator_plugins_emitter.rb', line 4

def initialize(plugin_rc_emitters, session:)
  @session = session
  @plugin_rc_emitters = plugin_rc_emitters
end

Instance Method Details

#emitObject



23
24
25
# File 'lib/kustomize/emitter/generator_plugins_emitter.rb', line 23

def emit
  self.plugin_instances.flat_map(&:emit)
end

#plugin_instancesObject



13
14
15
16
17
18
19
20
21
# File 'lib/kustomize/emitter/generator_plugins_emitter.rb', line 13

def plugin_instances
  return @plugin_instances if @plugin_instances

  @plugin_instances =
    self.plugin_rcs.map do |rc|
      plugin_klass = @session.plugin_manager.get(api_version: rc['apiVersion'], kind: rc['kind'])
      plugin_klass.create(rc, session: @session)
    end
end

#plugin_rcsObject



9
10
11
# File 'lib/kustomize/emitter/generator_plugins_emitter.rb', line 9

def plugin_rcs
  @plugin_rc_emitters.flat_map(&:emit)
end