class Rake::FileTask

A FileTask is a task that includes time based dependencies. If any of a FileTask's prerequisites have a timestamp that is later than the file represented by this task, then the file must be rebuilt (using the supplied actions).

Public Instance Methods

needed?() click to toggle source

Is this file task needed? Yes if it doesn't exist, or if its time stamp is out of date.

# File lib/rake/file_task.rb, line 15
def needed?
  ! File.exist?(name) || out_of_date?(timestamp) || @application.options.build_all
end
timestamp() click to toggle source

Time stamp for file task.

# File lib/rake/file_task.rb, line 20
def timestamp
  if File.exist?(name)
    File.mtime(name.to_s)
  else
    Rake::LATE
  end
end

Private Instance Methods

out_of_date?(stamp) click to toggle source

Are there any prerequisites with a later time than the given time stamp?

# File lib/rake/file_task.rb, line 31
def out_of_date?(stamp)
  @prerequisites.any? { |n| application[n, @scope].timestamp > stamp }
end
scope_name(scope, task_name) click to toggle source

Apply the scope to the task name according to the rules for this kind of task. File based tasks ignore the scope when creating the name.

# File lib/rake/file_task.rb, line 41
def scope_name(scope, task_name)
  Rake.from_pathname(task_name)
end