Class: LogicalConstruct::ResolvingTask

Inherits:
Rake::Task
  • Object
show all
Includes:
SatisfiableManager, Mattock::TaskMixin
Defined in:
lib/logical-construct/resolving-task.rb

Direct Known Subclasses

SinatraResolver, Testing::ResolvingTask

Instance Method Summary collapse

Methods included from SatisfiableManager

#add_satisfiable, #default_configuration, #define

Instance Method Details

#execute(args = nil) ⇒ Object



78
79
80
81
82
83
# File 'lib/logical-construct/resolving-task.rb', line 78

def execute(args=nil)
  super
  if needed?
    raise "Task #{name} failed to satisfy: #{unsatisfied.inspect}"
  end
end

#needed?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'lib/logical-construct/resolving-task.rb', line 70

def needed?
  !unsatisfied.empty?
end

#unsatisfiedObject



74
75
76
# File 'lib/logical-construct/resolving-task.rb', line 74

def unsatisfied
  satisfiables.find_all{|task| task.needed?}
end