Skip to content

Commit

Permalink
Merge branch 'more-ruby-less-java' of github.com:cowboyd/fog.hpi into…
Browse files Browse the repository at this point in the history
… more-ruby-less-java
  • Loading branch information
cowboyd committed Feb 18, 2011
2 parents abae119 + f731146 commit d5395d0
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 1 deletion.
23 changes: 23 additions & 0 deletions src/main/java/ruby/HttpResponseRendererImpl.java
@@ -0,0 +1,23 @@
package ruby;

import org.jruby.javasupport.proxy.InternalJavaProxy;
import org.kohsuke.stapler.HttpResponseRenderer;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;

import javax.servlet.ServletException;
import java.io.IOException;

/**
* Takes a return value from methods like "doDynamic" and convert it to HTML response.
*
* @author Kohsuke Kawaguchi
*/
public class HttpResponseRendererImpl extends HttpResponseRenderer {
@Override
public boolean generateResponse(StaplerRequest req, StaplerResponse rsp, Object node, Object response) throws IOException, ServletException {
if (InternalJavaProxy.class.isAssignableFrom(response.getClass())) {
// TODO: render the response
}
}
}
3 changes: 2 additions & 1 deletion src/main/java/ruby/RubyPlugin.java
Expand Up @@ -6,6 +6,7 @@
import hudson.model.Describable;
import hudson.model.Descriptor;
import hudson.model.Hudson;
import hudson.model.UpdateCenter.HudsonUpgradeJob;
import org.jruby.RubyClass;
import org.jruby.embed.LocalContextScope;
import org.jruby.embed.ScriptingContainer;
Expand Down Expand Up @@ -53,7 +54,7 @@ public RubyPlugin() {
this.ruby.runScriptlet("require 'hudson/plugin/controller'");
Object pluginClass = this.ruby.runScriptlet("Hudson::Plugin::Controller");
this.plugin = this.ruby.callMethod(pluginClass, "new", this);

WebApp.get(Hudson.getInstance().servletContext).getResponseRenderers().add(new HttpResponseRendererImpl());
}


Expand Down

0 comments on commit d5395d0

Please sign in to comment.