maintainable / framework

MVC framework for PHP 5.1.4 and later.

This URL has Read+Write access

windock (author)
Fri Sep 04 03:12:17 -0700 2009
maintainable (committer)
Wed Oct 28 11:47:04 -0700 2009
commit  850229bd1890bd73b2f2154cc5f85f62140ce3b0
tree    807605a41a7e77c962b2d1d6de6428c25144e30a
parent  40d2745af3d8b1f143e0721d8019d777d7c30966
framework / Rakefile
100644 30 lines (24 sloc) 0.744 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
require 'yaml'
 
# capture arguments after task name
args = ARGV.dup
args.shift
args = args.join(' ')
 
# export list of tasks from mad
chdir File.dirname(__FILE__) # MAD_ROOT
task_runner = File.join('.', 'script', 'task')
tasks = YAML.load(`php #{task_runner} --yaml`)
abort unless tasks.is_a?(Hash) and tasks.key?("test")
 
# dynamically build rakefile
code = ""
tasks.each_pair do |name, desc|
  namespaces = name.split(':')
  task = namespaces.pop
 
  namespaces.each { |n| code << "namespace :#{n} do \n" }
  code << "desc \"#{desc.gsub('"', '\\"').strip}\"
task :#{task} do
sh('php #{task_runner} #{name} #{args}')
end\n"
  namespaces.each { |n| code << "end\n" }
end
eval code
 
task :default => ["test"]