Module: RGen::ModelBuilder
- Defined in:
- lib/rgen/model_builder.rb,
lib/rgen/model_builder/builder_context.rb,
lib/rgen/model_builder/model_serializer.rb,
lib/rgen/model_builder/reference_resolver.rb
Defined Under Namespace
Classes: BuilderContext, ModelSerializer, ReferenceResolver
Class Method Summary collapse
Class Method Details
.build(package, env = nil, builderMethodsModule = nil, &block) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rgen/model_builder.rb', line 9 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 |