dev@glassfish.java.net

[PATCH] Merb environment

From: Nick Sieger <nicksieger_at_gmail.com>
Date: Wed, 19 Nov 2008 16:02:26 -0800

(Resent from internal alias. Posting here for posterity.)

I found that with the glassfish gem, it wasn't picking up the --
environment option on the command line, and was always running Merb in
development mode. This patch appears to fix that, and I also found an
extraneous method that I nuked (take or leave that part if you want).

Cheers,
/Nick

diff --git a/grizzly/jruby/src/main/java/com/sun/grizzly/jruby/rack/
MerbApplicationFactory.java b/grizzly/jruby/src/main/java/com/sun/
grizzly/jruby/rack/MerbApplicationFactory.java
index 41b963a..ebf96ab 100644
--- a/grizzly/jruby/src/main/java/com/sun/grizzly/jruby/rack/
MerbApplicationFactory.java
+++ b/grizzly/jruby/src/main/java/com/sun/grizzly/jruby/rack/
MerbApplicationFactory.java
@@ -60,15 +60,4 @@ public class MerbApplicationFactory extends
DefaultRackApplicationFactory{
         return
runtime.evalScriptlet("Rack::Handler::Grizzly.new($merb_app)");
     }

- private Ruby setupRails(org.jruby.Ruby runtime) {
- LoadService loadService = runtime.getLoadService();
- runtime.evalScriptlet("ENV['RAILS_ENV'] = '" +
System.getProperty("rails.env") + "'");
- // load rails
- loadService.require(appRoot + "/config/init");
- loadService.require(appRoot + "/config/environment");
- runtime.evalScriptlet("require 'rack/handler/grizzly'");
- return runtime;
- }
-
-
}
\ No newline at end of file
diff --git a/grizzly/jruby/src/main/resources/jruby/rack/merb.rb b/
grizzly/jruby/src/main/resources/jruby/rack/merb.rb
index 0ac8270..3b58ea7 100644
--- a/grizzly/jruby/src/main/resources/jruby/rack/merb.rb
+++ b/grizzly/jruby/src/main/resources/jruby/rack/merb.rb
@@ -28,6 +28,7 @@ Merb.disable(:signals)

# Start merb
Merb.start({
+ :environment => java.lang.System.getProperty("rails.env"),
    :merb_root => $glassfish_appRoot,
    :adapter => "grizzly",
    :log_level => log_level,