Class: Merb::BootLoader::BuildFramework

Class | Merb::BootLoader::BuildFramework
In: | lib/merb-core/bootloader.rb
Parent: | Merb::BootLoader

Build the framework paths.

By default, the following paths will be used:

application: | Merb.root/app/controller/application.rb
config: | Merb.root/config
lib: | Merb.root/lib
log: | Merb.root/log
view: | Merb.root/app/views
model: | Merb.root/app/models
controller: | Merb.root/app/controllers
helper: | Merb.root/app/helpers
mailer: | Merb.root/app/mailers
part: | Merb.root/app/parts

To override the default, set Merb::Config[:framework] in your initialization file. Merb::Config[:framework] takes a Hash whose key is the name of the path, and whose values can be passed into Merb.push_path (see Merb.push_path for full details).

#### Notes

All paths will default to Merb.root, so you can get a flat-file structure by doing Merb::Config[:framework] = {}.

#### Example

      Merb::Config[:framework] = {
        :view   => Merb.root / "views",
        :model  => Merb.root / "models",
        :lib    => Merb.root / "lib",
        :public => [Merb.root / "public", nil]
        :router => [Merb.root / "config", "router.rb"]
      }

That will set up a flat directory structure with the config files and controller files under Merb.root, but with models, views, and lib with their own folders off of Merb.root.

### Methods

build_framework run

### Public Class methods

build_framework()

Sets up merb paths to support the app‘s file layout. First, config/framework.rb is checked, next we look for Merb.root/framework.rb, finally we use the default merb layout (Merb::BootLoader.default_framework)

This method can be overriden to support other application layouts.

#### Returns

nil

:api: plugin @overridable

run()

Builds the framework directory structure.

#### Returns

nil

:api: plugin

[Validate]