class Kustomize::Emitter::DocumentEmitter::KustomizationDocumentEmitter

Public Instance Methods

common_annotations_transforms() click to toggle source
# File lib/kustomize/emitter/document_emitter/kustomization_document_emitter.rb, line 106
def common_annotations_transforms
  if new_annots = @doc['commonAnnotations']
    [Kustomize::Transform::CommonAnnotationsTransform.create(new_annots)]
  else
    []
  end
end
common_labels_transforms() click to toggle source
# File lib/kustomize/emitter/document_emitter/kustomization_document_emitter.rb, line 114
def common_labels_transforms
  if new_labels = @doc['commonLabels']
    [Kustomize::Transform::CommonLabelsTransform.create(new_labels)]
  else
    []
  end
end
emit() click to toggle source
# File lib/kustomize/emitter/document_emitter/kustomization_document_emitter.rb, line 135
def emit
  self.transforms.inject(self.input_resources) do |rcs, xform|
    xform.rewrite_all(rcs)
  end
end
image_transforms() click to toggle source
# File lib/kustomize/emitter/document_emitter/kustomization_document_emitter.rb, line 74
def image_transforms
  (@doc['images'] || []).map do |op_spec|
    Kustomize::Transform::ImageTransform.create(op_spec)
  end
end
input_emitters() click to toggle source
# File lib/kustomize/emitter/document_emitter/kustomization_document_emitter.rb, line 21
def input_emitters
  return @input_emitters if @input_emitters

  rc_pathspecs =
    (@doc['bases'] || []) +
    (@doc['resources'] || [])

  gen_plugin_pathspecs =
    (@doc['generators'] || [])

  input_emitters = rc_pathspecs.map do |rel_path|
    build_input_emitter(rel_path)
  end

  gen_plugin_rc_emitters = gen_plugin_pathspecs.map do |rel_path|
    build_input_emitter(rel_path)
  end

  unless gen_plugin_rc_emitters.empty?
    gen_plugins_emitter = Kustomize::Emitter::GeneratorPluginsEmitter.new(
      gen_plugin_rc_emitters,
      session: @session
    )

    input_emitters.push(gen_plugins_emitter)
  end

  @input_emitters = input_emitters
end
json_6902_patch_transforms() click to toggle source
# File lib/kustomize/emitter/document_emitter/kustomization_document_emitter.rb, line 68
def json_6902_patch_transforms
  ((@doc['patches'] || []) + (@doc['patchesJson6902'] || [])).map do |op_spec|
    Kustomize::Transform::Json6902PatchTransform.create(self, op_spec)
  end
end
namespace_transforms() click to toggle source
# File lib/kustomize/emitter/document_emitter/kustomization_document_emitter.rb, line 98
def namespace_transforms
  if new_ns = @doc['namespace']
    [Kustomize::Transform::NamespaceTransform.create(new_ns)]
  else
    []
  end
end
source_directory() click to toggle source
# File lib/kustomize/emitter/document_emitter/kustomization_document_emitter.rb, line 17
def source_directory
  @source[:path].parent
end
transformer_plugin_transforms() click to toggle source
# File lib/kustomize/emitter/document_emitter/kustomization_document_emitter.rb, line 80
def transformer_plugin_transforms
  xformer_plugin_rc_emitters =
    (@doc['transformers'] || []).map do |rel_path|
      build_input_emitter(rel_path)
    end

  if xformer_plugin_rc_emitters.length > 0
    xform = Kustomize::Transform::TransformerPluginsTransform.create(
      xformer_plugin_rc_emitters,
      session: @session
    )

    [xform]
  else
    []
  end
end
transforms() click to toggle source
# File lib/kustomize/emitter/document_emitter/kustomization_document_emitter.rb, line 122
def transforms
  return @transforms if @transforms

  @transforms = [
    self.namespace_transforms,
    self.image_transforms,
    self.common_annotations_transforms,
    self.common_labels_transforms,
    self.json_6902_patch_transforms,
    self.transformer_plugin_transforms
  ].flatten
end

Private Instance Methods

build_input_emitter(rel_path) click to toggle source
# File lib/kustomize/emitter/document_emitter/kustomization_document_emitter.rb, line 51
def build_input_emitter(rel_path)
  abs_path = self.source_directory / rel_path

  unless abs_path.exist?
    raise Errno::ENOENT, abs_path.to_s
  end

  if abs_path.file?
    Kustomize::Emitter::FileEmitter.new(abs_path, session: @session)
  elsif abs_path.directory?
    Kustomize::Emitter::DirectoryEmitter.new(abs_path, session: @session)
  else
    raise Errno::EFTYPE, abs_path.to_s
  end
end