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

Version Path
rgen-0.10.2 lib/rgen/model_builder.rb
rgen-0.10.0 lib/rgen/model_builder.rb
rgen-0.9.1 ./lib/rgen/model_builder.rb
rgen-0.8.3 lib/rgen/model_builder.rb
rgen-0.8.4 lib/rgen/model_builder.rb
rgen-0.9.0 lib/rgen/model_builder.rb
puppet-retrospec-1.8.0 vendor/pup410/lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-retrospec-1.7.0 vendor/pup410/lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.12 lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.12-x86-mingw32 lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.12-x64-mingw32 lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.12-universal-darwin lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.11 lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.11-x86-mingw32 lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.11-x64-mingw32 lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.11-universal-darwin lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.10 lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.10-x86-mingw32 lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.10-x64-mingw32 lib/puppet/vendor/rgen/lib/rgen/model_builder.rb
puppet-4.10.10-universal-darwin lib/puppet/vendor/rgen/lib/rgen/model_builder.rb