Sha256: 8c7ad5255cde11f4046817db653a7efe02b0e02c7e8df72678aa7eb8180f7ccd
Contents?: true
Size: 998 Bytes
Versions: 229
Compression:
Stored size: 998 Bytes
Contents
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
Version data entries
229 entries across 229 versions & 3 rubygems