Sha256: 97119180ebda4e82bd70eb1e9d3f2c67a664cec72c7649150cc0ed0fe43ee327

Contents?: true

Size: 1.59 KB

Versions: 3

Compression:

Stored size: 1.59 KB

Contents

# Config generator

Each of the following should be a module in its own right!

1. Create fresh Rails 3 app and set it up so that all the sub-systems work
2. Develop the generator so that it can mutate a Rails 3 app that matches this example app

## Code Design

* Create a module for each sub-system to configure
* Include modules depending on options
* For each module call the config_[module_name] method, which is responsible for configuring that module! 

## App config

in config/application.rb

If not using Active Record, substitute
<pre>
  require 'rails/all'
</pre>
  
  
With  
<pre>
  require "action_controller/railtie"
  require "action_mailer/railtie"
  require "active_resource/railtie"
  require "rails/test_unit/railtie"  
</pre>

## Devise Configuration

Gemfile
gem 'devise' 
gem ORM 'devise'

if app does NOT have a User model
  run devise generator to create User model
else
  if User model is NOT configured with devise strategy
    insert default devise User strategy
  end    
end

if --admin option set 
  if app does NOT have a Admin model
    run devise generator to create Admin model  
    remove any current inheritance
    and make Admin model inherit from User model 
  else
    insert default devise Admin strategy    
  end
end

## Cream configuration

copy locales and views (optional)

## CanCan Configuration

Gemfile:
gem 'cancan'  
gem 'cancan-rest-links' 

CanCan access denied exception handling

## Permits Configuration

Gemfile:
gem 'cancan-permits'

Run permits generator to generate permit for each role

## Roles Configuration

gem ORM 'roles'

run roles generator for ORM chosen 

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cream-0.7.0 lib/generators/cream/config/DESIGN NOTES.markdown
cream-0.6.4 lib/generators/cream/config/DESIGN NOTES.markdown
cream-0.6.3 lib/generators/cream/config/DESIGN NOTES.markdown