With the above implementation, I'd change this method to something like this:

```Ruby
def primary_key_hash
  [ primary_key ].flatten.inject({}) { |hash, key| hash[key] = self[key] }
end
```