X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/da51b9328abab2df757ed13eadc7c3557315094b..0561bd0c3c07257fd58ded6c7cfa5feeae97af57:/services/api/lib/kind_and_etag.rb diff --git a/services/api/lib/kind_and_etag.rb b/services/api/lib/kind_and_etag.rb index 9df1289839..faf3ab04dd 100644 --- a/services/api/lib/kind_and_etag.rb +++ b/services/api/lib/kind_and_etag.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + module KindAndEtag def self.included(base) @@ -5,13 +9,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