Class: LogicalConstruct::Manifest
- Inherits:
-
SatisfiableTask
- Object
- Rake::Task
- SatisfiableTask
- LogicalConstruct::Manifest
- Includes:
- ResolutionProtocol, SatisfiableManager
- Defined in:
- lib/logical-construct/resolving-task.rb
Instance Method Summary collapse
Methods included from ResolutionProtocol
#digest, #file_checksum, #generate_checksum, #web_path
Methods included from SatisfiableManager
#add_satisfiable, #default_configuration, #define
Methods inherited from SatisfiableTask
#criteria, #execute, #prefer_file?, #receive, #receive_file
Instance Method Details
#fulfill(data) ⇒ Object
105 106 107 108 109 110 111 112 113 114 |
# File 'lib/logical-construct/resolving-task.rb', line 105 def fulfill(data) self.manifest = YAML::load(data) satisfiables.each do |sat| path = sat.target_path checksum = manifest[sat.name] if invalid_checksum(checksum, path) File::rename(path, path + ".invalid") end end end |
#invalid_checksum(checksum, path) ⇒ Object
95 96 97 98 99 |
# File 'lib/logical-construct/resolving-task.rb', line 95 def invalid_checksum(checksum, path) return false unless File::exists?(path) return true if checksum.nil? or checksum.empty? return checksum != file_checksum(path) end |
#needed? ⇒ Boolean
101 102 103 |
# File 'lib/logical-construct/resolving-task.rb', line 101 def needed? manifest.nil? end |