class Kustomize::Transform::PurgeInternalAnnotationsTransform

Constants

INTERNAL_ANNOT_PATTERNS
LENSES

Public Instance Methods

rewrite(rc_doc) click to toggle source
# File lib/kustomize/transform/purge_internal_annotations_transform.rb, line 22
def rewrite(rc_doc)
  LENSES.inject(rc_doc) do |doc, lens|
    lens.update_in(rc_doc) do |orig_annots|
      next(:keep) unless orig_annots and orig_annots.length.nonzero?

      new_annots =
        orig_annots.reject{ |k, v| INTERNAL_ANNOT_PATTERNS.any?{ |pat| pat.match?(k) } }

      if new_annots.length == orig_annots.length
        :keep
      elsif new_annots.empty?
        :pop
      else
        [:set, new_annots]
      end
    end
  end
end