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

Methods

run  

Public Class methods

Setup the Merb Rack App or read a rackup file located at Merb::Config[:rackup] with the same syntax as the rackup tool that comes with rack. Automatically evals the file in the context of a Rack::Builder.new { } block. Allows for mounting additional apps or middleware.

Returns

nil

:api: plugin

[Source]

      # File merb-core/lib/merb-core/bootloader.rb, line 1287
1287:   def self.run
1288:     require 'rack'
1289:     if File.exists?(Merb.dir_for(:config) / "rack.rb")
1290:       Merb::Config[:rackup] ||= Merb.dir_for(:config) / "rack.rb"
1291:     end
1292: 
1293:     if Merb::Config[:rackup]
1294:       rackup_code = File.read(Merb::Config[:rackup])
1295:       Merb::Config[:app] = eval("::Rack::Builder.new {( #{rackup_code}\n )}.to_app", TOPLEVEL_BINDING, Merb::Config[:rackup])
1296:     else
1297:       Merb::Config[:app] = ::Rack::Builder.new {
1298:          if prefix = ::Merb::Config[:path_prefix]
1299:            use Merb::Rack::PathPrefix, prefix
1300:          end
1301:          use Merb::Rack::Static, Merb.dir_for(:public)
1302:          run Merb::Rack::Application.new
1303:        }.to_app
1304:     end
1305: 
1306:     nil
1307:   end

[Validate]