Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

This project is archived and is in readonly mode.

Changeset [61a41154f7d50099da371e0d2f22fd25ab9113c2] by Joshua Peek

Revision 61a41154f7d50099da371e0d2f22fd25ab9113c2, committed by Joshua Peek · December 17th, 2008 @ 03:53 PM

Make generated Metal bits a pure rack endpoint application (not middleware)

Instead of calling super to pass the request on, return a 404. The modified app looks like this:

# app/metal/poller.rb class Poller

def self.call(env)
  if env["PATH_INFO"] =~ /^\/poller/
    [200, {"Content-Type" => "text/html"}, "Hello, World!"]
  else
    [404, {"Content-Type" => "text/html"}, "Not Found"]
  end
end

end

But you aren't locked in to just Rails:

# app/metal/api.rb require 'sinatra' Sinatra::Application.default_options.merge!(:run => false, :env => :production) Api = Sinatra.application unless defined? Api

get '/interesting/new/ideas' do

'Hello Sinatra!'

end http://github.com/rails/rails/co...

3 changed files

  • M railties/lib/initializer.rb
  • M railties/lib/rails/rack/metal.rb
  • M railties/lib/rails_generator/generators/components/metal/templates/metal.rb