def get(*key)
      assert_valid_key_size(key)

      repository = self.repository
      key        = self.key(repository.name).typecast(key)

      repository.identity_map(self)[key] || first(key_conditions(repository, key).update(:order => nil))
    end
def get(*key)
      assert_valid_key_size(key)

      repository = self.repository
      key        = self.key(repository.name).typecast(key)

      repository.identity_map(self)[key] || first(key_conditions(repository, key).update(:order => nil))
    end
Grab a single record by its key. Supports natural and composite key
 lookups as well.

   Zoo.get(1)                # get the zoo with primary key of 1.
   Zoo.get!(1)               # Or get! if you want an ObjectNotFoundError on failure
   Zoo.get('DFW')            # wow, support for natural primary keys
   Zoo.get('Metro', 'DFW')   # more wow, composite key look-up

 @param [Object] *key
   The primary key or keys to use for lookup

 @return [Resource, nil]
   A single model that was found
   If no instance was found matching +key+

 @api public