Parent

Class/Module Index [+]

Quicksearch

RGen::ModelBuilder::BuilderContext::CommandResolver

Public Class Methods

new(rootPackage, extensionsModule, builderContext) click to toggle source
# File lib/rgen/model_builder/builder_context.rb, line 45
def initialize(rootPackage, extensionsModule, builderContext)
  @extensionFactory = ExtensionContainerFactory.new(rootPackage, extensionsModule, builderContext)
  @packageResolver = PackageResolver.new(rootPackage, @extensionFactory)
  @resolveCommand = {}
end

Public Instance Methods

resolveCommand(cmd, parentPackage) click to toggle source
# File lib/rgen/model_builder/builder_context.rb, line 51
def resolveCommand(cmd, parentPackage)
  return @resolveCommand[[parentPackage, cmd]] if @resolveCommand.has_key?([parentPackage, cmd])
  package = @packageResolver.packageByCommand(parentPackage, cmd)
  result = nil
        if package
        extensionContainer = @extensionFactory.extensionContainer(package)
        if extensionContainer.respond_to?(cmd)
      result = extensionContainer
    else
        className = cmd.to_s[0..0].upcase + cmd.to_s[1..-1]
        result = package.eClasses.find{|c| c.name == className}
    end
  end
  @resolveCommand[[parentPackage, cmd]] = [package, result]
      end

[Validate]

Generated with the Darkfish Rdoc Generator 2.