22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/do/tasks.rb', line 22
def task(name, options={}, &block)
name, deps, options = *case name
when Hash
in_was = name.delete(:in)
name_and_deps = name.shift
name.merge!(:in => in_was) if in_was
name_and_deps.push(name)
else [name, [], options]
end
tasks.push(options.merge({
:name => name.to_s,
:desc => @_desc.to_s,
:deps => Array(deps),
:namespace => @_namespace.to_s,
:block => block,
:in => Array(options[:in] ? options[:in] : options[:on])
}))
tasks[-1]
ensure
@_desc = nil
end
|