All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sun.grizzly.jruby.rack.SinatraApplicationFactory Maven / Gradle / Ivy

package com.sun.grizzly.jruby.rack;

import org.jruby.Ruby;
import org.jruby.javasupport.JavaEmbedUtils;
import org.jruby.runtime.builtin.IRubyObject;

import java.util.logging.Logger;

/**
 * @author Jacob Kesser
 */
public class SinatraApplicationFactory extends DefaultRackApplicationFactory {
    public SinatraApplicationFactory(Logger logger, String root) {
        super(logger, root);
    }

    public IRubyObject createApplicationObject(Ruby runtime) {
        runtime.defineReadonlyVariable("$glassfish_appRoot", JavaEmbedUtils.javaToRuby(runtime,appRoot));
        runtime.evalScriptlet("require 'jruby/rack/sinatra'");
        return runtime.evalScriptlet(
                "Rack::Handler::Grizzly.new(Sinatra::Application.new)");
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy