Every repository with this icon (
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
.document | Sat May 30 09:27:03 -0700 2009 | |
| |
.gitignore | Sat May 30 09:27:03 -0700 2009 | |
| |
LICENSE | Tue Oct 27 15:19:31 -0700 2009 | |
| |
README.rdoc | Tue Oct 27 15:19:31 -0700 2009 | |
| |
Rakefile | Tue Oct 27 15:14:19 -0700 2009 | |
| |
VERSION | Tue Oct 27 17:45:32 -0700 2009 | |
| |
app/ | Wed Jul 22 09:03:31 -0700 2009 | |
| |
config/ | Sat Jun 06 22:48:31 -0700 2009 | |
| |
db/ | Sat Jun 06 22:48:31 -0700 2009 | |
| |
disguise.gemspec | Tue Oct 27 17:49:55 -0700 2009 | |
| |
generators/ | Tue Jul 14 16:53:40 -0700 2009 | |
| |
lib/ | Tue Jul 14 17:06:23 -0700 2009 | |
| |
locales/ | Tue Oct 27 17:49:55 -0700 2009 | |
| |
rails/ | Tue Jun 02 14:51:13 -0700 2009 | |
| |
tasks/ | Sat May 30 20:56:37 -0700 2009 | |
| |
test/ | Wed Jul 22 09:03:31 -0700 2009 |
disguise
A simple theme system for your Rails application.
Installation
sudo gem install disguise
Setup
Disguise comes with a couple of admin controllers to make changing your theme simple. By default they are not protected. In order to prevent unauthorized users from changing your theme you can override the admin controller like this:
class Admin::ThemesController < Admin::Disguise::ThemesController
before_filter :login_required
layout('admin')
end
class Admin::DomainThemesController < Admin::Disguise::DomainThemesController
before_filter :login_required
layout('admin')
end
Also be sure to add a route to the new controller in routes.rb:
# admin
map.namespace :admin do |a|
a.resource :theme
a.resources :domain_themes
end
Rake tasks
Add disguise rake tasks to your rails project. Include the following line at the end of your Rakefile:
require 'disguise/tasks'
Then run the following to add the required files and database migration:
rake disguise:setup rake db:migrate
Usage
Generate a new theme for your Rails application using the built in theme generator:
./script/generate theme theme_name
Disguise can run in two modes. The first is the default which let’s an administrator set the current theme via the built in admin interface. The second looks at the url of the incoming request and matches it to a theme. To enable this second mode create an initializer in /config/initializers/disguise.rb and enter the following contents:
Disguise::USE_DOMAIN_FOR_THEMES = true
Copyright
Copyright © 2009 Tatemae.com. See LICENSE for details.







