Skip to content

Instantly share code, notes, and snippets.

@pk
Created April 26, 2010 22:15
Show Gist options
  • Save pk/380019 to your computer and use it in GitHub Desktop.
Save pk/380019 to your computer and use it in GitHub Desktop.
# vim:set filetype=ruby:
begin
require ::File.expand_path('.bundle/environment', __FILE__)
rescue LoadError
require 'rubygems'
require 'bundler'
Bundler.setup
end
require 'merb-core'
require 'warden'
Merb::Config.setup(:merb_root => ::File.expand_path(::File.dirname(__FILE__)),
:environment => ENV['RACK_ENV'])
Merb::BootLoader.run
# use PathPrefix Middleware if :path_prefix is set in Merb::Config
if prefix = ::Merb::Config[:path_prefix]
use Merb::Rack::PathPrefix, prefix
end
use Rack::Session::Cookie
use Warden::Manager do |manager|
manager.default_strategies :password
manager.failure_app = Proc.new { [200, nil, 'Auth with warden failed.'] }
end
Warden::Manager.serialize_into_session do |user|
user.id
end
Warden::Manager.serialize_from_session do |id|
# User.get(id)
end
# comment this out if you are running merb behind a load balancer
# that serves static files
use Merb::Rack::Static, Merb.dir_for(:public)
run Merb::Rack::Application.new
class Landing < Application
def env
request.env
end
def registered
params[:view] = params[:view] || 'favourites'
render
end
def unregistered
render
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment