lib/nake/dsl.rb in nake-0.0.3 vs lib/nake/dsl.rb in nake-0.0.5

- old
+ new

@@ -1,20 +1,46 @@ # encoding: utf-8 +require "nake" require "nake/task" +require "nake/file_task" class Object include Nake + def argument(*names, &block) + Nake.args[*names] = block + end + # Rake-style task definition # task(:release, :build) do |task| # # task definition # end def task(name, *dependencies, &block) if block.nil? Task.new(name, *dependencies) else Task.new(name, *dependencies) do |task| task.define(&block) + end + end + end + + def file(path, *dependencies, &block) + if block.nil? + FileTask.new(path, *dependencies) + else + FileTask.new(path, *dependencies) do |task| + task.define(&block) + end + end + end + + def directory(path) + FileTask.new(path) do |task| + task.hidden = true # do not show in list + task.description = "Create directory #{path}" + task.define do + mkdir_p path end end end end