Merge branch 'master' into 6859-fix-invalid-manifests
[arvados.git] / services / api / lib / kind_and_etag.rb
index 93f69f5bc5fb34dab3f7c5e83deb0d6a3d8d0719..04fdca426ea06647b890fb77430c3751b235fe12 100644 (file)
@@ -5,13 +5,16 @@ module KindAndEtag
   end
 
   module ClassMethods
+    def kind
+      'arvados#' + self.to_s.camelcase(:lower)
+    end
   end
 
   def kind
-    'orvos#' + self.class.to_s.underscore
+    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