# File tasks/ragel_task.rb, line 13 def define_tasks file target => [lang_ragel, common_ragel] do mkdir_p(File.dirname(target)) unless File.directory?(File.dirname(target)) sh "ragel #{flags} #{lang_ragel} -o #{target}" end file lang_ragel => lang_erb do write(ERB.new(IO.read(lang_erb)).result(binding), lang_ragel) end file common_ragel => common_erb do write(ERB.new(IO.read(common_erb)).result(binding), common_ragel) end end