class KubeManifest::Describer
Attributes
describers[RW]
Public Class Methods
append(klass, defaults, block)
click to toggle source
# File lib/kube_manifest/describe.rb, line 83 def self.append(klass, defaults, block) self.instance.describers.append([klass, defaults, block]) end
describe!()
click to toggle source
Calls superclass method
# File lib/kube_manifest/describe.rb, line 87 def self.describe! self.instance.describers.each do |pair| klass, defaults, block = pair ::KubeManifest.define_singleton_method klass.name.split('::').last do |**args, &blk| ::KubeManifest::Context.new(klass, args, &blk) end unless defaults.empty? klass.define_method(:initialize) do |**kwargs| super(**kwargs) defaults.each_pair do |key, value| instance_variable_set("@#{key}", value) end end end describer = ::KubeManifest::Describe.new(klass) defaults.each_pair do |key, value| describer.send(key.to_sym, value) end describer.instance_eval(&block) if block end self.instance.describers.clear end
new()
click to toggle source
# File lib/kube_manifest/describe.rb, line 79 def initialize @describers = [] end