Class: Merb::BootLoader::BuildFramework
- Inherits:
-
Merb::BootLoader
- Object
- Merb::BootLoader
- Merb::BootLoader::BuildFramework
- Defined in:
- merb-core/lib/merb-core/bootloader.rb
Overview
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.
All paths will default to Merb.root, so if you want a flat-file structure
simply by doing:
Merb::Config[:framework] = {}.
The following code sets 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:
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"]
}
Class Method Summary (collapse)
-
+ (nil) build_framework
Sets up merb paths to support the app's file layout.
-
+ (nil) run
Builds the framework directory structure.
Methods inherited from Merb::BootLoader
after, after_app_loads, before, before_app_loads, before_master_shutdown, before_worker_shutdown, default_framework, finished?, inherited, move_klass
Class Method Details
+ (nil) 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.
296 297 298 299 300 301 302 303 304 305 306 307 308 309 |
# File 'merb-core/lib/merb-core/bootloader.rb', line 296 def build_framework if File.exists?(Merb.root / "config" / "framework.rb") require Merb.root / "config" / "framework" elsif File.exists?(Merb.root / "framework.rb") require Merb.root / "framework" else Merb::BootLoader.default_framework end (Merb::Config[:framework] || {}).each do |name, path| path = Array(path) Merb.push_path(name, path.first, path.length == 2 ? path[1] : "**/*.rb") end nil end |
+ (nil) run
Builds the framework directory structure.
278 279 280 281 282 |
# File 'merb-core/lib/merb-core/bootloader.rb', line 278 def run $:.push Merb.root unless Merb.root == File.(Dir.pwd) build_framework nil end |