Execute this boot loader after the specified boot loader.
klass<~to_s> | The boot loader class after which this boot loader should be run. |
nil
:api: plugin
# File lib/merb-core/bootloader.rb, line 42 42: def after(klass) 43: move_klass(klass, 1) 44: nil 45: end
Execute a block of code after the app loads.
&block | A block to be added to the callbacks that will be executed after the app loads. |
:api: public
# File lib/merb-core/bootloader.rb, line 150 150: def after_app_loads(&block) 151: after_load_callbacks << block 152: end
Execute this boot loader before the specified boot loader.
klass<~to_s> | The boot loader class before which this boot loader should be run. |
nil
:api: plugin
# File lib/merb-core/bootloader.rb, line 57 57: def before(klass) 58: move_klass(klass, 0) 59: nil 60: end
Execute a block of code before the app loads but after dependencies load.
&block | A block to be added to the callbacks that will be executed before the app loads. |
:api: public
# File lib/merb-core/bootloader.rb, line 162 162: def before_app_loads(&block) 163: before_load_callbacks << block 164: end
Execute a block of code before master process is shut down. Only makes sense on platforms where Merb server can use forking.
&block | A block to be added to the callbacks that will be executed before master process is shut down. |
:api: public
# File lib/merb-core/bootloader.rb, line 175 175: def before_master_shutdown(&block) 176: before_master_shutdown_callbacks << block 177: end
Execute a block of code before worker process is shut down. Only makes sense on platforms where Merb server can use forking.
&block | A block to be added to the callbacks that will be executed before worker process is shut down. |
:api: public
# File lib/merb-core/bootloader.rb, line 188 188: def before_worker_shutdown(&block) 189: before_worker_shutdown_callbacks << block 190: end
Set up the default framework
nil
:api: plugin @overridable
# File lib/merb-core/bootloader.rb, line 125 125: def default_framework 126: ]view model helper controller mailer part].each do |component| 127: Merb.push_path(component.to_sym, Merb.root_path("app/#{component}s")) 128: end 129: Merb.push_path(:application, Merb.root_path("app" / "controllers" / "application.rb")) 130: Merb.push_path(:config, Merb.root_path("config"), nil) 131: Merb.push_path(:router, Merb.dir_for(:config), (Merb::Config[:router_file] || "router.rb")) 132: Merb.push_path(:lib, Merb.root_path("lib"), nil) 133: Merb.push_path(:merb_session, Merb.root_path("merb" / "session")) 134: Merb.push_path(:log, Merb.log_path, nil) 135: Merb.push_path(:public, Merb.root_path("public"), nil) 136: Merb.push_path(:stylesheet, Merb.dir_for(:public) / "stylesheets", nil) 137: Merb.push_path(:javascript, Merb.dir_for(:public) / "javascripts", nil) 138: Merb.push_path(:image, Merb.dir_for(:public) / "images", nil) 139: nil 140: end
Determines whether or not a specific bootloader has finished yet.
bootloader<String, Class> | The name of the bootloader to check. |
Boolean | Whether or not the bootloader has finished. |
:api: private
# File lib/merb-core/bootloader.rb, line 114 114: def finished?(bootloader) 115: self.finished.include?(bootloader.to_s) 116: end
Adds the inheriting class to the list of subclasses in a position specified by the before and after methods.
klass | The class inheriting from Merb::BootLoader. |
nil
:api: plugin
# File lib/merb-core/bootloader.rb, line 27 27: def inherited(klass) 28: subclasses << klass.to_s 29: super 30: end
Move a class that is inside the bootloader to some place in the Array, relative to another class.
klass<~to_s> | The klass to move the bootloader relative to |
where | 0 means insert it before; 1 means insert it after |
nil
:api: private
# File lib/merb-core/bootloader.rb, line 75 75: def move_klass(klass, where) 76: index = Merb::BootLoader.subclasses.index(klass.to_s) 77: if index 78: Merb::BootLoader.subclasses.delete(self.to_s) 79: Merb::BootLoader.subclasses.insert(index + where, self.to_s) 80: end 81: nil 82: end
Runs all boot loader classes by calling their run methods.
nil
:api: plugin
# File lib/merb-core/bootloader.rb, line 90 90: def run 91: Merb.started = true 92: subklasses = subclasses.dup 93: until subclasses.empty? 94: time = Time.now.to_i 95: bootloader = subclasses.shift 96: Merb.logger.debug!("Loading: #{bootloader}") if Merb.verbose_logging? 97: Object.full_const_get(bootloader).run 98: Merb.logger.debug!("It took: #{Time.now.to_i - time}") if Merb.verbose_logging? 99: self.finished << bootloader 100: end 101: self.subclasses = subklasses 102: nil 103: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.