class Olelo::Initializer

Public Class Methods

initialize(logger) click to toggle source
# File lib/olelo/initializer.rb, line 9
def self.initialize(logger)
  @instance ||= Initializer.new(logger)
end
new(logger) click to toggle source
# File lib/olelo/initializer.rb, line 13
def initialize(logger)
  Olelo.logger = logger
  init_locale
  init_templates
  init_plugins
  show_routes if Olelo.logger.debug?
  init_scripts
end

Private Instance Methods

init_locale() click to toggle source
# File lib/olelo/initializer.rb, line 24
def init_locale
  Locale.locale = Config['locale']
  Locale.add(yaml_load_file(File.join(File.dirname(__FILE__), 'locale.yml')))
end
init_plugins() click to toggle source
# File lib/olelo/initializer.rb, line 37
def init_plugins
  # Load locale provided by plugin
  Plugin.after(:load) do
    virtual_fs.glob('locale.yml') do |fs, name|
      Locale.add(yaml_load(fs.read(name)))
    end
  end

  # Configure plugin system
  Plugin.disabled = Config['disabled_plugins'].to_a
  Plugin.dir = Config['plugins_path']

  Plugin.load_all
  Plugin.start
end
init_scripts() click to toggle source
# File lib/olelo/initializer.rb, line 62
def init_scripts
  Dir[File.join(Config['initializers_path'], '*.rb')].sort_by do |f|
    File.basename(f)
  end.each do |f|
    Olelo.logger.debug "Running script initializer #{f}"
    instance_eval(File.read(f), f)
  end
end
init_templates() click to toggle source
# File lib/olelo/initializer.rb, line 29
def init_templates
  Templates.enable_caching if Config['production']
  Templates.loader = proc do |name|
    VirtualFS::Union.new(VirtualFS::Native.new(File.join(File.dirname(__FILE__), 'views')),
                         *Plugin.loaded.map(&:virtual_fs)).read(name)
  end
end
show_routes() click to toggle source
# File lib/olelo/initializer.rb, line 53
def show_routes
  Application.router.each do |method, router|
    Olelo.logger.debug method
    router.each do |name, pattern, keys, function|
      Olelo.logger.debug "#{name} -> #{pattern.inspect}"
    end
  end
end