lib/mattock/command-task.rb in mattock-0.0.1 vs lib/mattock/command-task.rb in mattock-0.1.0

- old
+ new

@@ -1,18 +1,10 @@ -require 'mattock/tasklib' +require 'mattock/task' require 'mattock/command-line' module Mattock - module NeededPredicate - def needed_predicate(&block) - (class << self; self; end).instance_eval do - define_method(:needed?, &block) - end - end - end - - class CommandTask < TaskLib + class CommandTask < Task setting(:task_name, :run) setting(:command) setting(:verify_command, nil) def verify_command @@ -24,28 +16,18 @@ def decorated(cmd) cmd end - def command_task - @command_task ||= - begin - task task_name do - decorated(command).must_succeed! - end - end + def action + decorated(command).must_succeed! end - def define - in_namespace do - command_task - unless verify_command.nil? - needed = decorated(verify_command) - command_task.extend NeededPredicate - command_task.needed_predicate do - !needed.succeeds? - end - end + def needed? + unless verify_command.nil? + !decorated(verify_command).succeeds? + else + super end end end end