org.jruby.Ruby.loadFile()方法的使用及代码示例

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

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

Ruby.loadFile介绍

暂无

代码示例

代码示例来源:origin: com.proofpoint.platform/rack

private void loadRubyScript(String scriptName)
    throws IOException
{
  try (InputStream stream = Resources.getResource("proofpoint/" + scriptName).openStream()) {
    runtime.loadFile(scriptName, stream, false);
  }
}

代码示例来源:origin: com.proofpoint.platform/rack-experimental

@Inject
public RackServlet(RackServletConfig config)
    throws IOException
{
  Preconditions.checkNotNull(config);
  File rackScriptFile = new File(config.getRackConfigPath());
  Preconditions.checkArgument(rackScriptFile.canRead(), "Could not find rack script specified by [" + config.getRackConfigPath()
      + "] and resolved to [" + rackScriptFile.getAbsolutePath() + "]");
  runtime = JavaEmbedUtils.initialize(ImmutableList.of(rackScriptFile.getParentFile().getCanonicalPath()), createRuntimeConfig());
  // don't inherit system settings for gems
  RubyHash env = runtime.evalScriptlet("ENV").convertToHash();
  env.remove("GEM_HOME");
  env.remove("GEM_PATH");
  InputStream stream = Resources.getResource("proofpoint/rack.rb").openStream();
  try {
    runtime.loadFile("rack.rb", stream, false);
  }
  finally {
    stream.close();
  }
  IRubyObject builder = runtime.evalScriptlet("Proofpoint::RackServer::Builder.new");
  rackApplication = adapter.callMethod(builder, "build", new IRubyObject[] {
      javaToRuby(runtime, rackScriptFile.getCanonicalPath())
  });
}

代码示例来源:origin: io.airlift/rack-experimental

@Inject
public RackServlet(RackServletConfig config)
    throws IOException
{
  Preconditions.checkNotNull(config);
  File rackScriptFile = new File(config.getRackConfigPath());
  Preconditions.checkArgument(rackScriptFile.canRead(), "Could not find rack script specified by [" + config.getRackConfigPath()
      + "] and resolved to [" + rackScriptFile.getAbsolutePath() + "]");
  runtime = JavaEmbedUtils.initialize(ImmutableList.of(rackScriptFile.getParentFile().getCanonicalPath()), createRuntimeConfig());
  // don't inherit system settings for gems
  RubyHash env = runtime.evalScriptlet("ENV").convertToHash();
  env.remove("GEM_HOME");
  env.remove("GEM_PATH");
  InputStream stream = Resources.getResource("io/airlift/rack.rb").openStream();
  try {
    runtime.loadFile("rack.rb", stream, false);
  }
  finally {
    stream.close();
  }
  IRubyObject builder = runtime.evalScriptlet("Airlift::RackServer::Builder.new");
  rackApplication = adapter.callMethod(builder, "build", new IRubyObject[] {
      javaToRuby(runtime, rackScriptFile.getCanonicalPath())
  });
}

代码示例来源:origin: io.airlift/rack

@Inject
public RackServlet(RackServletConfig config)
    throws IOException
{
  Preconditions.checkNotNull(config);
  File rackScriptFile = new File(config.getRackConfigPath());
  Preconditions.checkArgument(rackScriptFile.canRead(), "Could not find rack script specified by [" + config.getRackConfigPath()
      + "] and resolved to [" + rackScriptFile.getAbsolutePath() + "]");
  runtime = JavaEmbedUtils.initialize(ImmutableList.of(rackScriptFile.getParentFile().getCanonicalPath()), createRuntimeConfig());
  // don't inherit system settings for gems
  RubyHash env = runtime.evalScriptlet("ENV").convertToHash();
  env.remove("GEM_HOME");
  env.remove("GEM_PATH");
  InputStream stream = Resources.getResource("io/airlift/rack.rb").openStream();
  try {
    runtime.loadFile("rack.rb", stream, false);
  }
  finally {
    stream.close();
  }
  IRubyObject builder = runtime.evalScriptlet("Airlift::RackServer::Builder.new");
  rackApplication = adapter.callMethod(builder, "build", new IRubyObject[] {
      javaToRuby(runtime, rackScriptFile.getCanonicalPath())
  });
}

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

@Override
  public void load(Ruby runtime, boolean wrap) {
    InputStream ris = null;
    try {
      ris = resource.inputStream();
      if (runtime.getInstanceConfig().getCompileMode().shouldPrecompileAll()) {
        runtime.compileAndLoadFile(scriptName, ris, wrap);
      } else {
        runtime.loadFile(scriptName, new LoadServiceResourceInputStream(ris), wrap);
      }
    } catch(IOException e) {
      throw runtime.newLoadError("no such file to load -- " + searchName, searchName);
    } finally {
      try {
        if (ris != null) ris.close();
      } catch (IOException ioE) { /* At least we tried.... */}
    }
  }
}

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

@Override
  public void load(Ruby runtime, boolean wrap) {
    InputStream ris = null;
    try {
      ris = resource.inputStream();
      if (runtime.getInstanceConfig().getCompileMode().shouldPrecompileAll()) {
        runtime.compileAndLoadFile(scriptName, ris, wrap);
      } else {
        runtime.loadFile(scriptName, new LoadServiceResourceInputStream(ris), wrap);
      }
    } catch(IOException e) {
      throw runtime.newLoadError("no such file to load -- " + searchName, searchName);
    } finally {
      try {
        if (ris != null) ris.close();
      } catch (IOException ioE) { /* At least we tried.... */}
    }
  }
}

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

public void load(Ruby runtime, boolean wrap) {
  InputStream in = null;
  try {
    in = resource.getInputStream();
    String name = normalizeSeps(resource.getName());
    if (runtime.getInstanceConfig().getCompileMode().shouldPrecompileAll()) {
      runtime.compileAndLoadFile(name, in, wrap);
    } else {
      java.io.File path = resource.getPath();
      if(path != null && !resource.isAbsolute()) {
        // Note: We use RubyFile's canonicalize rather than Java's,
        // because Java's will follow symlinks and result in __FILE__
        // being set to the target of the symlink rather than the
        // filename provided.
        name = normalizeSeps(canonicalize(path.getPath()));
      }
      runtime.loadFile(name, in, wrap);
    }
  } catch (IOException e) {
    throw runtime.newIOErrorFromException(e);
  } finally {
    try { in.close(); } catch (Exception ex) {}
  }
}

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

public void load(Ruby runtime, boolean wrap) {
  InputStream in = null;
  try {
    in = resource.getInputStream();
    String name = resource.getName();
    if (runtime.getInstanceConfig().getCompileMode().shouldPrecompileAll()) {
      runtime.compileAndLoadFile(name, in, wrap);
    } else {
      name = CompiledScriptLoader.getFilenameFromPathAndName(resource.getPath(), name, resource.isAbsolute());
      runtime.loadFile(name, new LoadServiceResourceInputStream(in), wrap);
    }
  } catch (IOException e) {
    throw runtime.newIOErrorFromException(e);
  } finally {
    try { in.close(); } catch (Exception ex) {}
  }
}

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

public void load(Ruby runtime, boolean wrap) {
  InputStream in = null;
  try {
    in = resource.getInputStream();
    String name = normalizeSeps(resource.getName());
    if (runtime.getInstanceConfig().getCompileMode().shouldPrecompileAll()) {
      runtime.compileAndLoadFile(name, in, wrap);
    } else {
      java.io.File path = resource.getPath();
      if(path != null && !resource.isAbsolute()) {
        // Note: We use RubyFile's canonicalize rather than Java's,
        // because Java's will follow symlinks and result in __FILE__
        // being set to the target of the symlink rather than the
        // filename provided.
        name = normalizeSeps(canonicalize(path.getPath()));
      }
      runtime.loadFile(name, in, wrap);
    }
  } catch (IOException e) {
    throw runtime.newIOErrorFromException(e);
  } finally {
    try { in.close(); } catch (Exception ex) {}
  }
}

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

public void load(Ruby runtime, boolean wrap) {
  InputStream in = null;
  try {
    in = resource.getInputStream();
    String name = resource.getName();
    if (runtime.getInstanceConfig().getCompileMode().shouldPrecompileAll()) {
      runtime.compileAndLoadFile(name, in, wrap);
    } else {
      name = CompiledScriptLoader.getFilenameFromPathAndName(resource.getPath(), name, resource.isAbsolute());
      runtime.loadFile(name, new LoadServiceResourceInputStream(in), wrap);
    }
  } catch (IOException e) {
    throw runtime.newIOErrorFromException(e);
  } finally {
    try { in.close(); } catch (Exception ex) {}
  }
}

相关文章

微信公众号

最新文章

更多

Ruby类方法