Created
March 1, 2012 06:51
-
-
Save hooopo/1947889 to your computer and use it in GitHub Desktop.
Rails Lightweight Stack. Most of this is detailed on Crafting Rails Applications - http://pragprog.com/book/jvrails/crafting-rails-applications
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Run this file with `RAILS_ENV=production rackup -p 3000 -s thin` | |
# Be sure to have rails and thin installed. | |
require "rubygems" | |
require "rails" | |
# Let's load only action controller. If you want | |
# to use active record, just require it as well. | |
require "action_controller/railtie" | |
class MyApp < Rails::Application | |
routes.append do | |
match "/hello/world" => "hello#world" | |
end | |
# Let's shrink the stack by removing some middlewares. | |
# The remaining stack is printed below. Add or remove stuff at will. | |
config.middleware.delete "ActionDispatch::Static" | |
config.middleware.delete "Rack::Lock" | |
config.middleware.delete "Rack::MethodOverride" | |
config.middleware.delete "Rails::Rack::Logger" | |
config.middleware.delete "ActionDispatch::DebugExceptions" | |
config.middleware.delete "ActionDispatch::RequestId" | |
config.middleware.delete "ActionDispatch::RemoteIp" | |
config.middleware.delete "ActionDispatch::Reloader" | |
config.middleware.delete "ActionDispatch::Flash" | |
config.middleware.delete "ActionDispatch::BestStandardsSupport" | |
# We need a secret token for session, cookies, etc. | |
config.secret_token = "49837489qkuweoiuoqwehisuakshdjksadhaisdy78o34y138974xyqp9rmye8yrpiokeuioqwzyoiuxftoyqiuxrhm3iou1hrzmjk" | |
end | |
# This is a barebone controller. Include the modules you want, more info here: | |
# http://piotrsarnacki.com/2010/12/12/lightweight-controllers-with-rails3/ | |
class HelloController < ActionController::Metal | |
include ActionController::Rendering | |
def world | |
render :text => "Hello world!" | |
end | |
end | |
# Initialize the app | |
MyApp.initialize! | |
# Print the stack for fun! | |
puts ">> Starting Rails lightweight stack" | |
Rails.configuration.middleware.each do |middleware| | |
puts "use #{middleware.inspect}" | |
end | |
puts "run #{Rails.application.class.name}.routes" | |
# Run it! | |
run MyApp |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment