# File lib/tapkit/access/entity.rb, line 162 def primary_key( gid_or_row ) values = key_values = nil case gid_or_row when KeyGlobalID key_values = gid_or_row.key_values when Hash key_values = gid_or_row end if key_values then values = {} key_values.each do |key, value| if primary_key_attribute? key then values[key] = value end end end values end