Class: Taskable::FileTask

Inherits:
Task show all
Defined in:
lib/ratch/task.rb,
lib/ratch/task2.rb

Overview

File Task Class

Instance Attribute Summary

Attributes inherited from Task

#base, #description, #function, #requisite, #target

Instance Method Summary collapse

Methods inherited from Task

#initialize, parse_arguments, #prerequisite, #rule_dag, #run, #update

Constructor Details

This class inherits a constructor from Taskable::Task

Instance Method Details

#call(object) ⇒ Object



139
140
141
# File 'lib/ratch/task.rb', line 139

def call(object)
  object.instance_eval(&function) if needed?
end

#needed?Boolean

Returns:

  • (Boolean)


124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'lib/ratch/task.rb', line 124

def needed?
  if prerequisite.empty?
    dated = true
  elsif File.exist?(target)
    mtime = File.mtime(target)
    dated = prerequisite.find do |file|
      !File.exist?(file) || File.mtime(file) > mtime
    end
  else
    dated = true
  end
  return dated
end