115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# File 'lib/tap/declarations.rb', line 115
def task(const_name, configs={}, baseclass=@baseclass, &block)
@desc ||= Lazydoc.register_caller(Description)
const_name, prerequisites = parse_prerequisites(const_name)
if prerequisites.nil?
return declare(baseclass, const_name, configs, &block)
end
tasc = declare(Tap::Workflow, const_name, configs) do |workflow|
psr = Parser.new
args = psr.parse!(prerequisites)
warn "ignoring args: #{args.inspect}" unless args.empty?
psr.build_to(app)
obj = init("#{const_name.to_s.underscore}/task", workflow.config.to_hash)
setup = lambda {|input| exe(obj, input) }
[setup, obj]
end
namespace(const_name) do
declare(baseclass, 'Task', configs, &block)
end
tasc
end
|