platform/shared/rubyJVM/src/com/rho/RhoRuby.java in rhodes-1.2.2 vs platform/shared/rubyJVM/src/com/rho/RhoRuby.java in rhodes-1.4.0
- old
+ new
@@ -22,18 +22,23 @@
public static final RubyID serveID = RubyID.intern("serve_hash");
public static final RubyID serveIndexID = RubyID.intern("serve_index_hash");
public static final RubyID raiseRhoError = RubyID.intern("raise_rhoerror");
public static final RubyID initApp = RubyID.intern("init_app");
+ public static final RubyID activateApp = RubyID.intern("activate_app");
+
// public static final RubyID getStartPath = RubyID.intern("get_start_path");
// public static final RubyID getOptionsPath = RubyID.intern("get_options_path");
static RubyValue receiver;
static RubyProgram mainObj;
static RubyClass m_classRhoError;
static RubyMethod m_RhoError_err_message;
-
+
+ static RubyClass m_classRhoMessages;
+ static RubyMethod m_RhoMessages_get_message;
+
public static final int ERR_NONE = 0;
public static final int ERR_NETWORK = 1;
public static final int ERR_REMOTESERVER = 2;
public static final int ERR_RUNTIME = 3;
public static final int ERR_UNEXPECTEDSERVERRESPONSE = 4;
@@ -75,10 +80,24 @@
RubyValue res = m_RhoError_err_message.invoke( m_classRhoError, ObjectFactory.createInteger(nError), null );
return res.toStr();
}
+
+ public static String getMessageText(String strName)
+ {
+ if ( m_classRhoMessages == null )
+ {
+ RubyModule modRho = (RubyModule)RubyRuntime.ObjectClass.getConstant("Rho");
+ m_classRhoMessages = (RubyClass)modRho.getConstant("RhoMessages");
+ m_RhoMessages_get_message = m_classRhoMessages.findMethod( RubyID.intern("get_message") );
+ }
+
+ RubyValue res = m_RhoMessages_get_message.invoke( m_classRhoMessages, ObjectFactory.createString(strName), null );
+
+ return res.toStr();
+ }
public static void RhoRubyStart(String szAppPath){
String[] args = new String[0];
IRhoRubyHelper helper = null;
@@ -96,11 +115,11 @@
//TODO: implement recursive dir creation
RhoClassFactory.createFile().getDirPath("apps");
RhoClassFactory.createFile().getDirPath("apps/public");
RhoClassFactory.createFile().getDirPath("apps/public/db-files");
- }catch(Throwable exc){
+ }catch(Exception exc){
LOG.ERROR("Cannot init ruby", exc);
}
try{
//Class mainRuby = Class.forName("xruby.ServeME.main");
@@ -114,16 +133,24 @@
RubyModule modRhom = (RubyModule)RubyRuntime.ObjectClass.getConstant("Rhom");
}
/*}catch(ClassNotFoundException exc){
LOG.ERROR("Cannot create ServeME object", exc);*/
- }catch(Throwable exc){
+ }catch(Exception exc){
LOG.ERROR("Cannot create ServeME object", exc);
}
}
public static void RhoRubyInitApp(){
RubyAPI.callPublicNoArgMethod(receiver, null, initApp);
+ }
+
+ public static void rho_ruby_activateApp(){
+ RubyAPI.callPublicNoArgMethod(receiver, null, activateApp);
+ }
+
+ public static boolean rho_ruby_isValid(){
+ return receiver!= null;
}
public static void RhoRubyStop(){
receiver = null;