Merge branch 'master' into 6859-fix-invalid-manifests
[arvados.git] / services / api / lib / kind_and_etag.rb
index 9df128983950b17cc744f86731b387f7c55e8dc8..04fdca426ea06647b890fb77430c3751b235fe12 100644 (file)
@@ -5,13 +5,16 @@ module KindAndEtag
   end
 
   module ClassMethods
+    def kind
+      'arvados#' + self.to_s.camelcase(:lower)
+    end
   end
 
   def kind
-    'arvados#' + self.class.to_s.camelcase(:lower)
+    self.class.kind
   end
 
-  def etag
-    Digest::MD5.hexdigest(self.inspect).to_i(16).to_s(36)
+  def etag attrs=nil
+    Digest::MD5.hexdigest((attrs || self.attributes).inspect).to_i(16).to_s(36)
   end
 end