Sha256: d8215555a505b543071300af502010f9c7877aa37aca57416269a943f1ce0678

Contents?: true

Size: 940 Bytes

Versions: 1

Compression:

Stored size: 940 Bytes

Contents

module JettyRails
  module Adapters
    
    class MerbAdapter
      attr_reader :config
      
      def initialize(config)
        @config = config
      end
      
      def init_params
        # please refer to goldspike and jruby-rack documentation
        @merb_params ||= {
          'merb.root' => '/',
          'public.root' => '/public',
          'merb.environment' => config[:environment],
          'gem.path' => ENV['GEM_PATH'] || 'tmp/war/WEB-INF/gems'
        }
      end
      
      def event_listeners
        [ Rack::MerbServletContextListener.new, SignalHandler.new ]
      end
      
      class SignalHandler
        include Java::JavaxServlet::ServletContextListener
        
        def contextInitialized(cfg)
          trap("INT") do
            puts "\nbye!"
            java.lang.System.exit(0)
          end
        end
        
        def contextDestroyed(cfg)
        end
      end
      
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jetty-rails-0.5 lib/jetty_rails/adapters/merb_adapter.rb