class Spud::TaskRunners::SpudTaskRunner::Dependency
Attributes
sources[R]
targets[R]
Public Class Methods
new(source, target)
click to toggle source
# File lib/spud/task_runners/spud_task_runner/dependency.rb, line 17 def initialize(source, target) @sources = [source].flatten @targets = [target].flatten end
Public Instance Methods
need_to_update?()
click to toggle source
# File lib/spud/task_runners/spud_task_runner/dependency.rb, line 23 def need_to_update? !up_to_date? end
up_to_date?()
click to toggle source
# File lib/spud/task_runners/spud_task_runner/dependency.rb, line 28 def up_to_date? source_filenames = Dir[*@sources] return true if source_filenames.empty? newest_source = source_filenames .map(&File.method(:stat)) .map(&:mtime) .max target_filenames = Dir[*@targets] return false if target_filenames.empty? oldest_target = target_filenames .map(&File.method(:stat)) .map(&:mtime) .min newest_source < oldest_target end