org.jruby.RubyModule.defineModuleUnder()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.7k)|赞(0)|评价(0)|浏览(133)

本文整理了Java中org.jruby.RubyModule.defineModuleUnder方法的一些代码示例,展示了RubyModule.defineModuleUnder的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyModule.defineModuleUnder方法的具体详情如下:
包路径:org.jruby.RubyModule
类名称:RubyModule
方法名:defineModuleUnder

RubyModule.defineModuleUnder介绍

[英]rb_define_module_under this method should be used only as an API to define/open nested module
[中]rb_define_module_在该方法下只能用作定义/打开嵌套模块的API

代码示例

代码示例来源:origin: bazelbuild/bazel

public static void createProtobuf(Ruby runtime) {
  RubyModule mGoogle = runtime.getModule("Google");
  RubyModule mProtobuf = mGoogle.defineModuleUnder("Protobuf");
  mProtobuf.defineAnnotatedMethods(RubyProtobuf.class);
}

代码示例来源:origin: bazelbuild/bazel

public static void createRubyOneofBuilderContext(Ruby runtime) {
  RubyModule protobuf = runtime.getClassFromPath("Google::Protobuf");
  RubyModule internal = protobuf.defineModuleUnder("Internal");
  RubyClass cRubyOneofBuidlerContext = internal.defineClassUnder("OneofBuilderContext", runtime.getObject(), new ObjectAllocator() {
    @Override
    public IRubyObject allocate(Ruby ruby, RubyClass rubyClass) {
      return new RubyOneofBuilderContext(ruby, rubyClass);
    }
  });
  cRubyOneofBuidlerContext.defineAnnotatedMethods(RubyOneofBuilderContext.class);
}

代码示例来源:origin: org.jruby/jruby-complete

public static void createIOModule(Ruby runtime, RubyModule ffi) {
  RubyModule module = ffi.defineModuleUnder("IO");
  module.defineAnnotatedMethods(IOModule.class);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public static void createIOModule(Ruby runtime, RubyModule ffi) {
  RubyModule module = ffi.defineModuleUnder("IO");
  module.defineAnnotatedMethods(IOModule.class);
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public static void createIOModule(Ruby runtime, RubyModule ffi) {
  RubyModule module = ffi.defineModuleUnder("IO");
  module.defineAnnotatedMethods(IOModule.class);
}

代码示例来源:origin: org.jruby/jruby-core

public static void createIOModule(Ruby runtime, RubyModule ffi) {
  RubyModule module = ffi.defineModuleUnder("IO");
  module.defineAnnotatedMethods(IOModule.class);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public static RubyModule createDataConverterModule(Ruby runtime, RubyModule module) {
  RubyModule result = module.defineModuleUnder("DataConverter");
  result.defineAnnotatedMethods(DataConverter.class);
  result.defineAnnotatedConstants(DataConverter.class);
  return result;
}

代码示例来源:origin: org.jruby/jruby-complete

public static RubyModule createDataConverterModule(Ruby runtime, RubyModule module) {
  RubyModule result = module.defineModuleUnder("DataConverter");
  result.defineAnnotatedMethods(DataConverter.class);
  result.defineAnnotatedConstants(DataConverter.class);
  return result;
}

代码示例来源:origin: ruby-processing/JRubyArt

/**
 *
 * @param runtime Ruby
 */
public static void createArcBall(final Ruby runtime) {
  RubyModule processing = runtime.defineModule("Processing");
  RubyModule arcBallModule = processing.defineModuleUnder("ArcBall");
  arcBallModule.defineAnnotatedMethods(Rarcball.class);
}

代码示例来源:origin: org.jruby/jruby-core

public static RubyModule createDataConverterModule(Ruby runtime, RubyModule module) {
  RubyModule result = module.defineModuleUnder("DataConverter");
  result.defineAnnotatedMethods(DataConverter.class);
  result.defineAnnotatedConstants(DataConverter.class);
  return result;
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public static RubyModule createDataConverterModule(Ruby runtime, RubyModule module) {
  RubyModule result = module.defineModuleUnder("DataConverter");
  result.defineAnnotatedMethods(DataConverter.class);
  result.defineAnnotatedConstants(DataConverter.class);
  return result;
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public void load(Ruby runtime, boolean wrap) {
  RubyModule jrubyModule = runtime.getOrCreateModule("JRuby");
  
  RubyModule config = jrubyModule.defineModuleUnder("CONFIG");
  config.getSingletonClass().defineAnnotatedMethods(JRubyConfigLibrary.class);
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public void load(Ruby runtime, boolean wrap) {
  RubyModule jrubyModule = runtime.getOrCreateModule("JRuby");
  
  RubyModule config = jrubyModule.defineModuleUnder("CONFIG");
  config.getSingletonClass().defineAnnotatedMethods(JRubyConfigLibrary.class);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public void load(Ruby runtime, boolean wrap) throws IOException {
  RubyModule mJRubyUtil = runtime.getOrCreateModule("JRuby").defineModuleUnder("Util");
  mJRubyUtil.defineAnnotatedMethods(JRubyUtilLibrary.class);
  // core class utils
  runtime.getString().defineAnnotatedMethods(StringUtils.class);
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public void load(Ruby runtime, boolean wrap) throws IOException {
  RubyModule mJRubyUtil = runtime.getOrCreateModule("JRuby").defineModuleUnder("Util");
  mJRubyUtil.defineAnnotatedMethods(JRubyUtilLibrary.class);
  // core class utils
  runtime.getString().defineAnnotatedMethods(StringUtils.class);
}

代码示例来源:origin: org.jruby/jruby-complete

public static void createDigest(Ruby runtime) {
  try {
    provider = (Provider) Class.forName(PROVIDER).newInstance();
  }
  catch (Throwable t) { /* provider is not available */ }
  RubyModule mDigest = runtime.defineModule("Digest");
  mDigest.defineAnnotatedMethods(RubyDigest.class);
  RubyModule mDigestInstance = mDigest.defineModuleUnder("Instance");
  mDigestInstance.defineAnnotatedMethods(DigestInstance.class);
  RubyClass cDigestClass = mDigest.defineClassUnder("Class", runtime.getObject(), DigestClass.DIGEST_CLASS_ALLOCATOR);
  cDigestClass.defineAnnotatedMethods(DigestClass.class);
  cDigestClass.includeModule(mDigestInstance);
  RubyClass cDigestBase = mDigest.defineClassUnder("Base", cDigestClass, DigestBase.DIGEST_BASE_ALLOCATOR);
  cDigestBase.defineAnnotatedMethods(DigestBase.class);
}

代码示例来源:origin: org.jruby/jruby-complete

public void load(Ruby runtime, boolean wrap) throws IOException {
  RubyModule JRuby = runtime.getOrCreateModule("JRuby");
  RubyModule JRubyUtil = JRuby.defineModuleUnder("Util");
  JRubyUtil.defineAnnotatedMethods(JRubyUtilLibrary.class);
  JRubyUtil.setConstant("SEPARATOR", runtime.newString(org.jruby.util.cli.ArgumentProcessor.SEPARATOR));
  JRubyUtil.setConstant("ON_WINDOWS", runtime.newBoolean(org.jruby.platform.Platform.IS_WINDOWS));
  JRubyUtil.setConstant("ON_SOLARIS", runtime.newBoolean(org.jruby.platform.Platform.IS_SOLARIS));
}

代码示例来源:origin: org.jruby/jruby-core

public void load(Ruby runtime, boolean wrap) throws IOException {
  RubyModule JRuby = runtime.getOrCreateModule("JRuby");
  RubyModule JRubyUtil = JRuby.defineModuleUnder("Util");
  JRubyUtil.defineAnnotatedMethods(JRubyUtilLibrary.class);
  JRubyUtil.setConstant("SEPARATOR", runtime.newString(org.jruby.util.cli.ArgumentProcessor.SEPARATOR));
  JRubyUtil.setConstant("ON_WINDOWS", runtime.newBoolean(org.jruby.platform.Platform.IS_WINDOWS));
  JRubyUtil.setConstant("ON_SOLARIS", runtime.newBoolean(org.jruby.platform.Platform.IS_SOLARIS));
}

代码示例来源:origin: org.jruby/jruby-core

public void load(Ruby runtime, boolean wrap) {
  runtime.getLoadService().require("java");
  // load Ruby parts of the 'jruby' library
  runtime.getLoadService().loadFromClassLoader(runtime.getJRubyClassLoader(), "jruby/jruby.rb", false);
  RubyModule JRuby = runtime.getOrCreateModule("JRuby");
  JRuby.defineAnnotatedMethods(JRubyLibrary.class);
  JRuby.defineAnnotatedMethods(JRubyUtilLibrary.class);
  JRuby.defineClassUnder("ThreadLocal", runtime.getObject(), JRubyThreadLocal.ALLOCATOR)
     .defineAnnotatedMethods(JRubyExecutionContextLocal.class);
  JRuby.defineClassUnder("FiberLocal", runtime.getObject(), JRubyFiberLocal.ALLOCATOR)
     .defineAnnotatedMethods(JRubyExecutionContextLocal.class);
  RubyModule CONFIG = JRuby.defineModuleUnder("CONFIG");
  CONFIG.getSingletonClass().defineAnnotatedMethods(JRubyConfig.class);
}

代码示例来源:origin: org.jruby/jruby-complete

public void load(Ruby runtime, boolean wrap) {
  runtime.getLoadService().require("java");
  // load Ruby parts of the 'jruby' library
  runtime.getLoadService().loadFromClassLoader(runtime.getJRubyClassLoader(), "jruby/jruby.rb", false);
  RubyModule JRuby = runtime.getOrCreateModule("JRuby");
  JRuby.defineAnnotatedMethods(JRubyLibrary.class);
  JRuby.defineAnnotatedMethods(JRubyUtilLibrary.class);
  JRuby.defineClassUnder("ThreadLocal", runtime.getObject(), JRubyThreadLocal.ALLOCATOR)
     .defineAnnotatedMethods(JRubyExecutionContextLocal.class);
  JRuby.defineClassUnder("FiberLocal", runtime.getObject(), JRubyFiberLocal.ALLOCATOR)
     .defineAnnotatedMethods(JRubyExecutionContextLocal.class);
  RubyModule CONFIG = JRuby.defineModuleUnder("CONFIG");
  CONFIG.getSingletonClass().defineAnnotatedMethods(JRubyConfig.class);
}

相关文章

微信公众号

最新文章

更多

RubyModule类方法