class Kustomize::Transform::CommonAnnotationsTransform

Constants

BASE_LENS
LENS_PREFIXES

Public Class Methods

new(new_annots) click to toggle source
# File lib/kustomize/transform/common_annotations_transform.rb, line 8
def initialize(new_annots)
  @new_annots = new_annots
end

Public Instance Methods

rewrite(rc_doc) click to toggle source
# File lib/kustomize/transform/common_annotations_transform.rb, line 19
def rewrite(rc_doc)
  rc_doc = BASE_LENS.update_in(rc_doc) do |annots|
    [:set, (annots || {}).merge(@new_annots)]
  end

  LENS_PREFIXES.inject(rc_doc) do |doc, prefix|
    prefix.update_in(rc_doc) do |node|
      next(:keep) unless node.kind_of?(Hash)

      new_node = BASE_LENS.update_in(node) do |annots|
        [:set, (annots || {}).merge(@new_annots)]
      end

      [:set, new_node]
    end
  end
end