lib/initialization/initializer.rb in mack-0.4.7 vs lib/initialization/initializer.rb in mack-0.5.0
- old
+ new
@@ -15,37 +15,17 @@
require 'builder'
require 'erubis'
require 'erb'
require 'genosaurus'
-# Set up Mack constants, if they haven't already been set up.
-unless Object.const_defined?("MACK_ENV")
- (Object::MACK_ENV = (ENV["MACK_ENV"] ||= "development")).to_sym
-end
-(Object::MACK_ROOT = (ENV["MACK_ROOT"] ||= FileUtils.pwd)) unless Object.const_defined?("MACK_ROOT")
+require File.join(File.dirname(__FILE__), "configuration.rb")
-Object::MACK_PUBLIC = File.join(MACK_ROOT, "public") unless Object.const_defined?("MACK_PUBLIC")
-Object::MACK_APP = File.join(MACK_ROOT, "app") unless Object.const_defined?("MACK_APP")
-Object::MACK_LIB = File.join(MACK_ROOT, "lib") unless Object.const_defined?("MACK_LIB")
-Object::MACK_CONFIG = File.join(MACK_ROOT, "config") unless Object.const_defined?("MACK_CONFIG")
-Object::MACK_VIEWS = File.join(MACK_APP, "views") unless Object.const_defined?("MACK_VIEWS")
-Object::MACK_LAYOUTS = File.join(MACK_VIEWS, "layouts") unless Object.const_defined?("MACK_LAYOUTS")
-Object::MACK_PLUGINS = File.join(MACK_ROOT, "vendor", "plugins") unless Object.const_defined?("MACK_PLUGINS")
-
-unless Object.const_defined?("MACK_INITIALIZED")
- puts "Starting application in #{MACK_ENV} mode."
- puts "Mack root: #{MACK_ROOT}"
+unless Mack::Configuration.initialized
- Object::MACK_INITIALIZED = true
+ puts "Starting application in #{Mack::Configuration.env} mode."
+ puts "Mack root: #{Mack::Configuration.root}"
- # Set up 'Rails' constants to allow for easier use of existing gems/plugins like application_configuration.
- # I would like to take these out eventually, but for right now, it's not doing too much harm.
- # Object::RAILS_ENV = MACK_ENV unless Object.const_defined?("RAILS_ENV")
- # Object::RAILS_ROOT = MACK_ROOT unless Object.const_defined?("RAILS_ROOT")
-
- require File.join(File.dirname(__FILE__), "configuration.rb")
-
require File.join(File.dirname(__FILE__), "initializers", "logging.rb")
require File.join(File.dirname(__FILE__), "initializers", "orm_support.rb")
fl = File.join(File.dirname(__FILE__), "..")
@@ -63,42 +43,47 @@
# ------------------------------------------------------------------------
# set up application stuff:
# set up routes:
- require File.join(MACK_CONFIG, "routes")
+ require File.join(Mack::Configuration.config_directory, "routes")
# set up initializers:
- Dir.glob(File.join(MACK_CONFIG, "initializers", "**/*.rb")) do |d|
+ Dir.glob(File.join(Mack::Configuration.config_directory, "initializers", "**/*.rb")) do |d|
require d
end
Mack::Utils::GemManager.instance.do_requires
# require 'plugins':
require File.join(File.dirname(__FILE__), "initializers", "plugins.rb")
# make sure that default_controller is available to other controllers
- path = File.join(MACK_APP, "controllers", "default_controller.rb")
+ path = File.join(Mack::Configuration.app_directory, "controllers", "default_controller.rb")
require path if File.exists?(path)
# require 'app' files:
- Dir.glob(File.join(MACK_APP, "**/*.rb")).each do |d|
+ Dir.glob(File.join(Mack::Configuration.app_directory, "**/*.rb")).each do |d|
+ # puts "d: #{d}"
begin
require d
rescue NameError => e
- mod = e.message.gsub("uninitialized constant ", "")
- x =%{
- module ::#{mod}
- end
- }
- eval(x)
- require d
+ if e.message.match("uninitialized constant")
+ mod = e.message.gsub("uninitialized constant ", "")
+ x =%{
+ module ::#{mod}
+ end
+ }
+ eval(x)
+ require d
+ else
+ raise e
+ end
end
end
# require 'lib' files:
- Dir.glob(File.join(MACK_LIB, "**/*.rb")).each do |d|
+ Dir.glob(File.join(Mack::Configuration.lib_directory, "**/*.rb")).each do |d|
require d
end
# ------------------------------------------------------------------------
@@ -118,6 +103,8 @@
# Find view level Helpers and include them into the Mack::ViewBinder
Mack::ViewHelpers.constants.each do |cont|
h = "Mack::ViewHelpers::#{cont}".constantize
h.include_safely_into(Mack::ViewBinder)
end
+
+ Mack::Configuration.set(:initialized, "true") if Mack::Configuration.initialized.nil?
end
\ No newline at end of file