add Job#dependencies
authorTom Clegg <tom@clinicalfuture.com>
Mon, 4 Feb 2013 10:04:53 +0000 (02:04 -0800)
committerTom Clegg <tom@clinicalfuture.com>
Mon, 4 Feb 2013 23:47:30 +0000 (15:47 -0800)
app/models/job.rb

index a4b0d1ce2d816f3b2cc32198e59126cf2664f954..9d7b3a081e5a052aed798811c6f8c02cce519033 100644 (file)
@@ -21,6 +21,7 @@ class Job < OrvosModel
     t.add :finished_at
     t.add :success
     t.add :running
+    t.add :dependencies
   end
 
   protected
@@ -33,4 +34,15 @@ class Job < OrvosModel
     end
     true
   end
+
+  def dependencies
+    deps = {}
+    self.command_parameters.values.each do |v|
+      v.match(/^(([0-9a-f]{32})\b(\+[^,]+)?,?)*$/) do |locator|
+        bare_locator = locator[0].gsub(/\+[^,]+/,'')
+        deps[bare_locator] = true
+      end
+    end
+    deps.keys
+  end
 end