Sha256: bfe641b5cbc8ee79d9d71b361ade739f24a403af398eff2af0e71bd3ef4b7009
Contents?: true
Size: 1.07 KB
Versions: 3
Compression:
Stored size: 1.07 KB
Contents
# coding: utf-8 class OpenStruct extend Forwardable def_delegator :inst, :create, :activate def_delegator :inst, :run, :run_application # This assumes this OpenStruct instance represents the base, # and additionaly will take an optional object to use as the # actual base to allow for composures. # # Returns the os base def create_fox_components use_as_base = nil if use_as_base.nil? self.inst = fx.() if self.inst.nil? self.kinder.each{ |os| os.create_fox_components } else OpenStruct.new(klass: use_as_base.class, kinder: [self], fx: ->() {use_as_base}).create_fox_components end self end def instance_final_activate self.instance_result = self.instance_block.(self.inst) unless self.instance_block.nil? self.kinder.each{ |os| os.instance_final_activate } self end # launch the application def launch ingress: false create_fox_components instance_final_activate activate Enhancement.activate_ingress_handlers self if ingress run_application end end
Version data entries
3 entries across 3 versions & 1 rubygems