Changeset 398
- Timestamp:
- 08/07/07 19:15:19 (1 year ago)
- Files:
-
- trunk/README (modified) (2 diffs)
- trunk/Rakefile (modified) (1 diff)
- trunk/examples/skeleton/conf/merb_init.rb (modified) (1 diff)
- trunk/lib/merb.rb (modified) (2 diffs)
- trunk/lib/merb/generators/merb_app/merb_app.rb (modified) (1 diff)
- trunk/lib/merb/merb_dispatcher.rb (modified) (1 diff)
- trunk/lib/merb/merb_exceptions.rb (modified) (1 diff)
- trunk/lib/merb/merb_mail_controller.rb (modified) (1 diff)
- trunk/lib/merb/merb_part_controller.rb (modified) (1 diff)
- trunk/lib/merb/merb_server.rb (modified) (4 diffs)
- trunk/lib/merb/merb_yaml_store.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/README
r279 r398 299 299 == Merb app layout 300 300 301 A Merb app contains everything it needs to run in production in the302 MERB_ROOT/dist directory. So for deployment you only need to deploy the dist dir. This303 keeps your test code and development plugins separate from your main app and lets you304 not deploy them to the live server. You deal with two things with this setup, MERB_ROOT305 and DIST_ROOT. MERB_ROOT is the root of the whole tree. And DISTROOT is MERB_ROOT+/dist306 You will cd into MERB_ROOT to run the merb command line. ANd when you deploy live you307 will put the dist dir into another empty MERB_ROOT on the production server.308 309 301 merb_app: 302 303 app 304 controllers 305 models 306 views 307 parts 308 mailers 309 conf 310 lib 311 public 312 schema 310 313 Rakefile 311 README312 314 scripts 313 315 test … … 315 317 unit 316 318 plugins 317 dist318 app319 controllers320 models321 views322 conf323 lib324 public325 plugins326 schematrunk/Rakefile
r395 r398 16 16 17 17 NAME = "merb" 18 VERS = "0. 3.8"18 VERS = "0.4.0" 19 19 CLEAN.include ['**/.*.sw?', '*.gem', '.config'] 20 20 trunk/examples/skeleton/conf/merb_init.rb
r354 r398 4 4 ActiveRecord::Base.logger = MERB_LOGGER 5 5 6 require DIST_ROOT+"/app/controllers/application.rb"7 Dir[ DIST_ROOT+"/app/controllers/*.rb"].each{ |m| require m }8 Dir[ DIST_ROOT+"/app/helpers/*.rb"].each { |m| require m }9 Dir[ DIST_ROOT+"/app/models/*.rb"].each { |m| require m }10 Dir[ DIST_ROOT+"/app/mailers/*.rb"].each { |m| require m }11 Dir[ DIST_ROOT+"/lib/*/lib/*.rb"].each { |m| require m }12 Dir[ DIST_ROOT+"/lib/*/bin/*.rb"].each { |m| require m }13 Dir[ DIST_ROOT+"/plugins/*/init.rb"].each { |m| require m }6 require MERB_ROOT+"/app/controllers/application.rb" 7 Dir[MERB_ROOT+"/app/controllers/*.rb"].each{ |m| require m } 8 Dir[MERB_ROOT+"/app/helpers/*.rb"].each { |m| require m } 9 Dir[MERB_ROOT+"/app/models/*.rb"].each { |m| require m } 10 Dir[MERB_ROOT+"/app/mailers/*.rb"].each { |m| require m } 11 Dir[MERB_ROOT+"/lib/*/lib/*.rb"].each { |m| require m } 12 Dir[MERB_ROOT+"/lib/*/bin/*.rb"].each { |m| require m } 13 Dir[MERB_ROOT+"/plugins/*/init.rb"].each { |m| require m } 14 14 15 15 #Get Database Config 16 16 puts "Connecting to database..." 17 conn_options = YAML::load(Erubis::Eruby.new(IO.read("#{ DIST_ROOT}/conf/database.yml")).result)17 conn_options = YAML::load(Erubis::Eruby.new(IO.read("#{MERB_ROOT}/conf/database.yml")).result) 18 18 ActiveRecord::Base.establish_connection conn_options["#{MERB_ENV}"] 19 19 20 20 #Get Environment File 21 require "#{ DIST_ROOT}/conf/environments/#{MERB_ENV}"21 require "#{MERB_ROOT}/conf/environments/#{MERB_ENV}" 22 22 23 23 # add your own ruby code here for app specific stuff. This file gets loaded trunk/lib/merb.rb
r395 r398 16 16 17 17 module Merb 18 VERSION='0. 3.8' unless defined?VERSION18 VERSION='0.4.0' unless defined?VERSION 19 19 class Server 20 20 class << self … … 50 50 51 51 MERB_ROOT = Merb::Server.merb_root || Dir.pwd 52 DIST_ROOT = Merb::Server.dist_root || Dir.pwd+'/dist'53 52 MERB_ENV = Merb::Server.config[:environment].nil? ? 'development' : Merb::Server.config[:environment] 54 MERB_VIEW_ROOT = MERB_ROOT / " dist/app/views"53 MERB_VIEW_ROOT = MERB_ROOT / "app/views" 55 54 56 55 logpath = $TESTING ? "/tmp/merb_test.log" : "#{MERB_ROOT}/log/merb.#{Merb::Server.port}.log" trunk/lib/merb/generators/merb_app/merb_app.rb
r293 r398 21 21 FileUtils.rm_rf(f) if /\.svn$/ =~ f 22 22 end 23 public_path = File.expand_path(File.join(@path, " dist", "public"))24 mailer_path = File.expand_path(File.join(@path, " dist", "app", "mailers"))25 app_path = File.expand_path(File.join(@path, " dist", "app"))23 public_path = File.expand_path(File.join(@path, "public")) 24 mailer_path = File.expand_path(File.join(@path, "app", "mailers")) 25 app_path = File.expand_path(File.join(@path, "app")) 26 26 FileUtils.mkdir_p(["#{mailer_path}/helpers", 27 27 "#{mailer_path}/views", trunk/lib/merb/merb_dispatcher.rb
r394 r398 73 73 def resolve_controller(controller_name) 74 74 segments = controller_name.split('/').map{|s| s.snake_case} 75 path = "#{ DIST_ROOT}/app/controllers/#{controller_name}.rb"75 path = "#{MERB_ROOT}/app/controllers/#{controller_name}.rb" 76 76 cnt = segments.map{|s| s.camel_case }.join('::') 77 77 trunk/lib/merb/merb_exceptions.rb
r394 r398 149 149 ErrorResponse.new(e).out 150 150 else 151 IO.read( DIST_ROOT / 'public/500.html') rescue "500 Internal Server Error!"151 IO.read(MERB_ROOT / 'public/500.html') rescue "500 Internal Server Error!" 152 152 end 153 153 end trunk/lib/merb/merb_mail_controller.rb
r366 r398 4 4 class MailController < AbstractController 5 5 6 self._template_root = File.expand_path( DIST_ROOT / "app/mailers/views")6 self._template_root = File.expand_path(MERB_ROOT / "app/mailers/views") 7 7 class_inheritable_accessor :_mailer_klass 8 8 self._mailer_klass = Merb::Mailer trunk/lib/merb/merb_part_controller.rb
r348 r398 1 1 module Merb 2 2 class PartController < AbstractController 3 self._template_root = File.expand_path( DIST_ROOT / "app/parts/views")3 self._template_root = File.expand_path(MERB_ROOT / "app/parts/views") 4 4 5 5 def initialize(web_controller) trunk/lib/merb/merb_server.rb
r385 r398 21 21 } 22 22 begin 23 options = defaults.merge(YAML.load(Erubis::Eruby.new(IO.read("#{defaults[:merb_root]}/ dist/conf/merb.yml")).result))23 options = defaults.merge(YAML.load(Erubis::Eruby.new(IO.read("#{defaults[:merb_root]}/conf/merb.yml")).result)) 24 24 rescue 25 25 options = defaults … … 165 165 def initialize_merb 166 166 require 'merb' 167 require @@merb_opts[:merb_root] / 'dist/conf/router.rb' 168 require @@merb_opts[:merb_root] / 'dist/conf/merb_init.rb' 169 167 require @@merb_opts[:merb_root] / 'conf/router.rb' 168 require @@merb_opts[:merb_root] / 'conf/merb_init.rb' 170 169 end 171 170 … … 206 205 end 207 206 208 @@merb_opts[:dist_root] = @@merb_opts[:merb_root]+'/dist' 209 $LOAD_PATH.unshift( File.join(@@merb_opts[:dist_root] , '/app/models') ) 210 $LOAD_PATH.unshift( File.join(@@merb_opts[:dist_root] , '/app/controllers') ) 211 $LOAD_PATH.unshift( File.join(@@merb_opts[:dist_root] , '/lib') ) 212 if File.exist? File.join(@@merb_opts[:dist_root] , '/framework') 213 $LOAD_PATH.unshift( File.join(@@merb_opts[:dist_root] , '/framework') ) 207 $LOAD_PATH.unshift( File.join(@@merb_opts[:merb_root] , '/app/models') ) 208 $LOAD_PATH.unshift( File.join(@@merb_opts[:merb_root] , '/app/controllers') ) 209 $LOAD_PATH.unshift( File.join(@@merb_opts[:merb_root] , '/lib') ) 210 if File.exist? File.join(@@merb_opts[:merb_root] , '/framework') 211 $LOAD_PATH.unshift( File.join(@@merb_opts[:merb_root] , '/framework') ) 214 212 end 215 213 … … 350 348 listener do 351 349 uri( "/", :handler => MerbUploadHandler.new(yconfig), :in_front => true) if @@merb_opts[:config] 352 uri "/", :handler => MerbHandler.new(@@merb_opts[: dist_root]+'/public')350 uri "/", :handler => MerbHandler.new(@@merb_opts[:merb_root]+'/public') 353 351 uri "/favicon.ico", :handler => Mongrel::Error404Handler.new("") 354 352 end trunk/lib/merb/merb_yaml_store.rb
r107 r398 6 6 attr_accessor :db 7 7 8 def initialize(filename = "#{ DIST_ROOT}/schema/db.yaml")8 def initialize(filename = "#{MERB_ROOT}/schema/db.yaml") 9 9 FileUtils.touch(filename) 10 10 @db = YAML::Store.new(filename)
