public
Description: Account Location Plugin
Homepage: http://rubyonrails.org
Clone URL: git://github.com/rails/account_location.git
commit  fc61507ea80c12c50ffe02803bcbeae9fd13788a
tree    111ca35ad9d324058ad9b020d6387dd13c51f40a
parent  00d7fd2e22a8129d741912255c8a3a3c7dea0c8a
name age message
file README Loading commit data...
directory lib/
directory test/
README
Account Location
================

Account location is a set of protected methods that supports the account-key-as-subdomain 
way of identifying the current scope. These methods allow you to easily produce URLs that
match this style and to get the current account key from the subdomain.

The methods are: account_url, account_host, and account_domain.

Example:

  class ApplicationController < ActiveRecord::Base
    include AccountLocation
    before_filter :find_account
    
    protected
      def find_account
        @account = Account.find_by_username(account_subdomain)
      end
  end

  class AccountController < ApplicationController
    def new
      @new_account = Account.create(params[:new_account])
      redirect_to :host => account_host(@new_account.username), :controller => "weblog"
    end
    
    def authenticate
      session[account_domain] = :authenticated
      redirect_to :controller => "weblog"
    end
    
    protected
      def authenticated?
        session[account_domain] == :authenticated
      end
  end
  
  # The view:
  
  Your domain: <%= account_url %>

By default, all the methods will query for @account.username as the account key, but you can
specialize that by overwriting default_account_subdomain. You can of course also pass it in
as the first argument to all the methods.


Copyright (c) 2005 David Heinemeier Hansson, released under the MIT license