class Kustomize::Json6902Patch::ReplaceOp

Public Class Methods

create(patch_spec) click to toggle source
# File lib/kustomize/json_6902_patch/replace_op.rb, line 4
def self.create(patch_spec)
  new(
    path: patch_spec['path'],
    value: patch_spec['value']
  )
end
new(path:, value:) click to toggle source
# File lib/kustomize/json_6902_patch/replace_op.rb, line 11
def initialize(path:, value:)
  @lens = parse_lens(path)
  @new_value = value
end

Public Instance Methods

apply(rc) click to toggle source
# File lib/kustomize/json_6902_patch/replace_op.rb, line 16
def apply(rc)
  @lens.update_in(rc) do |orig_value|
    if orig_value.nil?
      raise ArgumentError, "cannot set value at #{@lens.inspect} -- target does not exist"
    end

    [:set, @new_value]
  end
end