MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 3.146.65.73
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/ruby/vendor_ruby/puppet/vendor/rgen/lib/rgen/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/ruby/vendor_ruby/puppet/vendor/rgen/lib/rgen/model_builder.rb
require 'rgen/model_builder/builder_context'
require 'rgen/util/method_delegation'
#require 'ruby-prof'

module RGen
  
module ModelBuilder

  def self.build(package, env=nil, builderMethodsModule=nil, &block)
    resolver = ReferenceResolver.new
    bc = BuilderContext.new(package, builderMethodsModule, resolver, env)
    contextModule = eval("Module.nesting", block.binding).first
    Util::MethodDelegation.registerDelegate(bc, contextModule, "const_missing")
    BuilderContext.currentBuilderContext = bc
    begin
    #RubyProf.start
      bc.instance_eval(&block)
    #prof = RubyProf.stop
    #File.open("profile_flat.txt","w+") do |f|
    #  RubyProf::FlatPrinter.new(prof).print(f, 0)
    # end
    ensure
      BuilderContext.currentBuilderContext = nil
    end
    Util::MethodDelegation.unregisterDelegate(bc, contextModule, "const_missing")
    #puts "Resolving..."
    resolver.resolve(bc.toplevelElements)
    bc.toplevelElements
  end    
end

end

MMCT - 2023