class KubeManifest::Context

Attributes

cwd[RW]
values[RW]

Public Class Methods

new(klass, args, &blk) click to toggle source
# File lib/kube_manifest/core.rb, line 5
def initialize(klass, args, &blk)
  @klass, @args, @blk = klass, args, blk
  @cwd, @values = [], {}
end

Public Instance Methods

as_hash() click to toggle source
# File lib/kube_manifest/core.rb, line 28
def as_hash
  self.evaluate.as_hash
end
as_yaml() click to toggle source
# File lib/kube_manifest/core.rb, line 32
def as_yaml
  self.evaluate.as_yaml
end
evaluate(overriding: nil) click to toggle source
# File lib/kube_manifest/core.rb, line 10
def evaluate(overriding: nil)
  if overriding
    @cwd = overriding.cwd
    @values = overriding.values
  end

  @manifest = @klass.new(ctx: self, values: @values)
  @manifest.instance_eval(&@blk) if @blk
  @args.each_pair do |k, v|
    @manifest.send(k, v)
  end
  @manifest
end
values=(values) click to toggle source
# File lib/kube_manifest/core.rb, line 24
def values=(values)
  @values = values
end