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).
Private Class Methods
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 rake-13.1.0/lib/rake/file_task.rb, line 53 def scope_name(scope, task_name) Rake.from_pathname(task_name) end
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 rake-13.1.0/lib/rake/file_task.rb, line 16 def needed? begin out_of_date?(File.mtime(name)) || @application.options.build_all rescue Errno::ENOENT true end end
timestamp()
click to toggle source
Time stamp for file task.
# File rake-13.1.0/lib/rake/file_task.rb, line 25 def timestamp begin File.mtime(name) rescue Errno::ENOENT 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 rake-13.1.0/lib/rake/file_task.rb, line 36 def out_of_date?(stamp) all_prerequisite_tasks.any? { |prereq| prereq_task = application[prereq, @scope] if prereq_task.instance_of?(Rake::FileTask) prereq_task.timestamp > stamp || @application.options.build_all else prereq_task.timestamp > stamp end } end