/** * Cleanly shut down this ScriptingContainer and any JRuby resources it holds. * All ScriptingContainer instances should be terminated when you are done with * them, rather then leaving them for GC to finalize. * * @since JRuby 1.5.0 */ public void terminate() { if (getProvider().isRuntimeInitialized()) getProvider().getRuntime().tearDown(false); getProvider().terminate(); }
/** * Cleanly shut down this ScriptingContainer and any JRuby resources it holds. * All ScriptingContainer instances should be terminated when you are done with * them, rather then leaving them for GC to finalize. * * @since JRuby 1.5.0 */ public void terminate() { if (getProvider().isRuntimeInitialized()) getProvider().getRuntime().tearDown(false); getProvider().terminate(); }
/** * add the given classloader to the LOAD_PATH and GEM_PATH * @param classloader */ public void addClassLoader(ClassLoader classLoader) { getProvider().getRubyInstanceConfig().addLoader(classLoader); }
private static boolean shouldLVarBeDeleted(ScriptingContainer container, String key) { LocalVariableBehavior behavior = container.getProvider().getLocalVariableBehavior(); if (behavior != LocalVariableBehavior.TRANSIENT) return false; return TransientLocalVariable.isValidName(key); } }
/** * Retrieve the self-first classloader setting. * * @see ScriptingContainer#setClassloaderDelegate(boolean) */ public boolean getClassloaderDelegate() { return getProvider().getRubyInstanceConfig().isClassloaderDelegate(); }
private static boolean shouldLVarBeDeleted(ScriptingContainer container, String key) { LocalVariableBehavior behavior = container.getProvider().getLocalVariableBehavior(); if (behavior != LocalVariableBehavior.TRANSIENT) return false; return TransientLocalVariable.isValidName(key); } }
/** * Retrieve the self-first classloader setting. * * @see ScriptingContainer#setClassloaderDelegate(boolean) */ public boolean getClassloaderDelegate() { return getProvider().getRubyInstanceConfig().isClassloaderDelegate(); }
/** * add the given classloader to the LOAD_PATH and GEM_PATH * @param classloader */ public void addClassLoader(ClassLoader classLoader) { getProvider().getRubyInstanceConfig().addLoader(classLoader); }
private static boolean shouldLVarBeDeleted(ScriptingContainer container, String key) { LocalVariableBehavior behavior = container.getProvider().getLocalVariableBehavior(); if (behavior != LocalVariableBehavior.TRANSIENT) return false; return TransientLocalVariable.isValidName(key); } }
private static boolean shouldLVarBeDeleted(ScriptingContainer container, String key) { LocalVariableBehavior behavior = container.getProvider().getLocalVariableBehavior(); if (behavior != LocalVariableBehavior.TRANSIENT) return false; return TransientLocalVariable.isValidName(key); } }
public JRubyFacet() { // TODO: is this too early? Shall we allow registrations later? languages.addAll(Facet.discoverExtensions(RubyTemplateLanguage.class, Thread.currentThread().getContextClassLoader(), getClass().getClassLoader())); container = new ScriptingContainer(LocalContextScope.SINGLETHREAD); // we don't want any funny multiplexing from ScriptingContainer. container.runScriptlet("require 'org/kohsuke/stapler/jelly/jruby/JRubyJellyScriptImpl'"); navigator = new RubyKlassNavigator(container.getProvider().getRuntime(), getClass().getClassLoader()); for (RubyTemplateLanguage l : languages) { templateContainers.put(l.getScriptExtension(),l.createContainer(container)); tearOffTypes.add(l.getTearOffClass()); } }
/** * Sets JRuby home if it is given by a JRUBY_HOME environment variable, * jruby.home system property, or jury.home in jruby-complete.jar * * @param container ScriptingContainer to be set jruby home. */ @Deprecated public static void setJRubyHome(ScriptingContainer container) { String jrubyhome = findJRubyHome(container); if (jrubyhome != null) { container.getProvider().getRubyInstanceConfig().setJRubyHome(jrubyhome); } }
private void setVariable(BSFDeclaredBean bean) { String name = bean.name; if ("$bsf".equals(name)) { return; } if (!name.startsWith("$")) { name = "$".concat(name); } RubyObject receiver = (RubyObject)container.getProvider().getRuntime().getTopSelf(); BiVariable v = VariableInterceptor.getVariableInstance(LocalVariableBehavior.BSF,receiver, name, bean.bean, bean.type); container.getVarMap().setVariable(receiver, v); }
private RubyObject getReceiverObject(Object receiver) { Ruby runtime = container.getProvider().getRuntime(); if (receiver == null || !(receiver instanceof IRubyObject)) { return (RubyObject)runtime.getTopSelf(); } else if (receiver instanceof RubyObject) return (RubyObject)receiver; else return (RubyObject)((IRubyObject)receiver).getRuntime().getTopSelf(); }
private RubyObject getReceiverObject(Object receiver) { Ruby runtime = container.getProvider().getRuntime(); if (receiver == null || !(receiver instanceof IRubyObject)) { return (RubyObject)runtime.getTopSelf(); } else if (receiver instanceof RubyObject) return (RubyObject)receiver; else return (RubyObject)((IRubyObject)receiver).getRuntime().getTopSelf(); }
private RubyObject getReceiverObject(Object receiver) { Ruby runtime = container.getProvider().getRuntime(); if (receiver == null || !(receiver instanceof IRubyObject)) { return (RubyObject)runtime.getTopSelf(); } else if (receiver instanceof RubyObject) return (RubyObject)receiver; else return (RubyObject)((IRubyObject)receiver).getRuntime().getTopSelf(); }
private RubyObject getReceiverObject(Object receiver) { Ruby runtime = container.getProvider().getRuntime(); if (receiver == null || !(receiver instanceof IRubyObject)) { return (RubyObject)runtime.getTopSelf(); } else if (receiver instanceof RubyObject) return (RubyObject)receiver; else return (RubyObject)((IRubyObject)receiver).getRuntime().getTopSelf(); }
public IRubyObject getInstanceVariable(IRubyObject obj, String variableName) { BiVariableMap map = container.getVarMap(); synchronized (map) { if (map.containsKey(variableName)) { BiVariable bv = map.getVariable((RubyObject)container.getProvider().getRuntime().getTopSelf(), variableName); return bv.getRubyObject(); } } return null; }
public IRubyObject getInstanceVariable(IRubyObject obj, String variableName) { BiVariableMap map = container.getVarMap(); synchronized (map) { if (map.containsKey(variableName)) { BiVariable bv = map.getVariable((RubyObject)container.getProvider().getRuntime().getTopSelf(), variableName); return bv.getRubyObject(); } } return null; }
public IRubyObject getInstanceVariable(IRubyObject obj, String variableName) { BiVariableMap map = container.getVarMap(); synchronized (map) { if (map.containsKey(variableName)) { BiVariable bv = map.getVariable((RubyObject)container.getProvider().getRuntime().getTopSelf(), variableName); return bv.getRubyObject(); } } return null; }