class Autodeps::Dependency

Attributes

dependents[RW]

Public Class Methods

new() click to toggle source
# File lib/autodeps/dependency.rb, line 4
def initialize
  @dependents = ThreadSafe::Array.new
end

Public Instance Methods

changed() click to toggle source
# File lib/autodeps/dependency.rb, line 25
def changed
  @dependents.each do |computation|
    computation.invalidate
  end
end
depend(computation = Autodeps.current_computation) click to toggle source
# File lib/autodeps/dependency.rb, line 7
def depend(computation = Autodeps.current_computation)

  if (!computation)
    return false if (!Autodeps.active)
    computation = Deps.current_computation;
  end
  if !@dependents.include?(computation)
    @dependents << computation
    computation.on_invalidate do
      @dependents.delete(computation)
    end
    return true
  else
    return false;
  end

end
hasDependents() click to toggle source
# File lib/autodeps/dependency.rb, line 31
def hasDependents
  !@dependents.empty?
end