Exemplo n.º 1
0
  /**
   * @param runtime
   * @param driver
   * @return
   */
  public static RubyClass createResultClass(final Ruby runtime, DriverDefinition driver) {
    RubyModule doModule = runtime.getModule(DATA_OBJECTS_MODULE_NAME);
    RubyClass superClass = doModule.getClass(RUBY_CLASS_NAME);
    RubyModule driverModule = (RubyModule) doModule.getConstant(driver.getModuleName());
    RubyClass resultClass =
        driverModule.defineClassUnder(RUBY_CLASS_NAME, superClass, RESULT_ALLOCATOR);

    resultClass.defineAnnotatedMethods(Result.class);
    return resultClass;
  }
Exemplo n.º 2
0
 /**
  * @param runtime
  * @param factory
  * @return
  */
 public static RubyClass createCommandClass(final Ruby runtime, DriverDefinition factory) {
   RubyModule doModule = runtime.getModule(DATA_OBJECTS_MODULE_NAME);
   RubyClass superClass = doModule.getClass(RUBY_CLASS_NAME);
   RubyModule driverModule = (RubyModule) doModule.getConstant(factory.getModuleName());
   RubyClass commandClass =
       runtime.defineClassUnder("Command", superClass, COMMAND_ALLOCATOR, driverModule);
   commandClass.setInstanceVariable("@__factory", JavaEmbedUtils.javaToRuby(runtime, factory));
   commandClass.defineAnnotatedMethods(Command.class);
   setDriverDefinition(commandClass, runtime, factory);
   return commandClass;
 }