Replaced Rails environment variables with Merb equivalents.
[merb_radiant.git] / lib / tasks / instance.rake
blob4a29b6d4bd2074f4a566eec86339d1f1bdbd5c71
1 # Redefined standard Rails tasks only in instance mode
2 unless File.directory? "#{Merb.root}/app"
3   require 'rake/testtask'
4   
5   ENV['RADIANT_ENV_FILE'] = File.join(Merb.root, 'config', 'environment')
6   
7   Dir["#{RADIANT_ROOT}/vendor/rails/railties/lib/tasks/*.rake", "#{RADIANT_ROOT}/vendor/plugins/rspec_on_rails/tasks/*.rake"].each do |rake|
8     lines = IO.readlines(rake)
9     lines.map! do |line|
10       line.gsub!('Merb.root', 'RADIANT_ROOT') unless rake =~ /(misc|rspec)\.rake$/
11       case rake
12       when /testing\.rake$/
13         line.gsub!(/t.libs << (["'])/, 't.libs << \1' + RADIANT_ROOT + '/')
14         line.gsub!(/t\.pattern = (["'])/, 't.pattern = \1' + RADIANT_ROOT + '/')
15       when /databases\.rake$/
16         line.gsub!(/migrate\((["'])/, 'migrate(\1' + RADIANT_ROOT + '/')
17         line.sub!("db/schema.rb", "#{Merb.root}/db/schema.rb")
18       when /rspec\.rake$/
19         line.gsub!('Merb.root', 'RADIANT_ROOT') unless line =~ /:noop/
20         line.gsub!(/FileList\[(["'])/, "FileList[\\1#{RADIANT_ROOT}/")
21       end
22       line
23     end
24     eval(lines.join("\n"), binding, rake)
25   end
26 end