public
Rubygem
Description: Merb Core: All you need. None you don't.
Homepage: http://www.merbivore.com
Clone URL: git://github.com/wycats/merb-core.git
ezmobius (author)
Sat Jan 12 12:28:27 -0800 2008
commit  e11196de18e713d643f28995688562a646168775
tree    04100dc309198bc4c9fc0b01e40d1cc959bbc27a
parent  ddea528ad146e553a11dc94bd531738d42b55ff6
merb-core / lib / merb.rb
100644 51 lines (40 sloc) 1.371 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
require 'rubygems'
require 'set'
require 'fileutils'
require 'merb_core/gem_ext/erubis'
require 'merb_core/logger'
require 'merb_core/version'
 
gem "assistance"
require "assistance"
 
module Merb
  class << self
    
    attr_accessor :environment, :load_paths
    self.load_paths = Hash.new
    
    # This is the core mechanism for setting up your application layout
    # merb-core won't set a default application layout, but merb-more will
    # use the app/:type layout that is in use in Merb 0.5
    def push_path(type, path, file_glob = "**/*.rb")
     load_paths[type] = [path, file_glob]
    end
    
    # Application paths
    def root() @root || Merb::Config[:merb_root] || Dir.pwd end
    def root=(value) @root ||= value end
    def root_path(path) File.join(root, path) end
    
    # Logger settings
    attr_accessor :logger
    
    def log_path
     if $TESTING
        "#{Merb.root}/log/merb_test.log"
      elsif !(Merb::Config[:daemonize] || Merb::Config[:cluster] )
        STDOUT
      else
        "#{Merb.root}/log/merb.#{Merb::Config[:port]}.log"
     end
    end
    
    # Framework paths
    def framework_root() @framework_root ||= File.dirname(__FILE__) end
    
    # Set up default generator scope
    attr_accessor :generator_scope
    self.generator_scope = [:merb_default, :merb, :rspec]
  end
 
end