Commit 4dd16594 authored by Jeremy Mikola's avatar Jeremy Mikola

Reorder methods for reasons of pedantry

parent af42e76b
......@@ -79,44 +79,44 @@ class Client
}
/**
* Select a database.
* Select a collection.
*
* If a write concern or read preference is not specified, the write concern
* or read preference of the Client will be applied, respectively.
*
* @param string $databaseName Name of the database to select
* @param string $databaseName Name of the database containing the collection
* @param string $collectionName Name of the collection to select
* @param WriteConcern $writeConcern Default write concern to apply
* @param ReadPreference $readPreference Default read preference to apply
* @return Database
* @return Collection
*/
public function selectDatabase($databaseName, WriteConcern $writeConcern = null, ReadPreference $readPreference = null)
public function selectCollection($databaseName, $collectionName, WriteConcern $writeConcern = null, ReadPreference $readPreference = null)
{
$namespace = $databaseName . '.' . $collectionName;
// TODO: inherit from Manager options once PHPC-196 is implemented
$writeConcern = $writeConcern ?: $this->writeConcern;
$readPreference = $readPreference ?: $this->readPreference;
return new Database($this->manager, $databaseName, $writeConcern, $readPreference);
return new Collection($this->manager, $namespace, $writeConcern, $readPreference);
}
/**
* Select a collection.
* Select a database.
*
* If a write concern or read preference is not specified, the write concern
* or read preference of the Client will be applied, respectively.
*
* @param string $databaseName Name of the database containing the collection
* @param string $collectionName Name of the collection to select
* @param string $databaseName Name of the database to select
* @param WriteConcern $writeConcern Default write concern to apply
* @param ReadPreference $readPreference Default read preference to apply
* @return Collection
* @return Database
*/
public function selectCollection($databaseName, $collectionName, WriteConcern $writeConcern = null, ReadPreference $readPreference = null)
public function selectDatabase($databaseName, WriteConcern $writeConcern = null, ReadPreference $readPreference = null)
{
$namespace = $databaseName . '.' . $collectionName;
// TODO: inherit from Manager options once PHPC-196 is implemented
$writeConcern = $writeConcern ?: $this->writeConcern;
$readPreference = $readPreference ?: $this->readPreference;
return new Collection($this->manager, $namespace, $writeConcern, $readPreference);
return new Database($this->manager, $databaseName, $writeConcern, $readPreference);
}
}
......@@ -28,53 +28,53 @@ class CollectionInfo
}
/**
* Return the collection name.
* Return the maximum number of documents to keep in the capped collection.
*
* @return string
* @return integer|null
*/
public function getName()
public function getCappedMax()
{
return (string) $this->info['name'];
return isset($this->info['options']['max']) ? (integer) $this->info['options']['max'] : null;
}
/**
* Return the collection options.
* Return the maximum size (in bytes) of the capped collection.
*
* @return array
* @return integer|null
*/
public function getOptions()
public function getCappedSize()
{
return isset($this->info['options']) ? (array) $this->info['options'] : array();
return isset($this->info['options']['size']) ? (integer) $this->info['options']['size'] : null;
}
/**
* Return whether the collection is a capped collection.
* Return the collection name.
*
* @return boolean
* @return string
*/
public function isCapped()
public function getName()
{
return ! empty($this->info['options']['capped']);
return (string) $this->info['name'];
}
/**
* Return the maximum number of documents to keep in the capped collection.
* Return the collection options.
*
* @return integer|null
* @return array
*/
public function getCappedMax()
public function getOptions()
{
return isset($this->info['options']['max']) ? (integer) $this->info['options']['max'] : null;
return isset($this->info['options']) ? (array) $this->info['options'] : array();
}
/**
* Return the maximum size (in bytes) of the capped collection.
* Return whether the collection is a capped collection.
*
* @return integer|null
* @return boolean
*/
public function getCappedSize()
public function isCapped()
{
return isset($this->info['options']['size']) ? (integer) $this->info['options']['size'] : null;
return ! empty($this->info['options']['capped']);
}
/**
......
......@@ -40,27 +40,6 @@ class CollectionInfoLegacyIterator extends FilterIterator implements CollectionI
parent::__construct($iterator);
}
/**
* Return the current element as a CollectionInfo instance.
*
* @see CollectionInfoIterator::current()
* @see http://php.net/iterator.current
* @return CollectionInfo
*/
public function current()
{
$info = parent::current();
// Trim the database prefix up to and including the first dot
$firstDot = strpos($info['name'], '.');
if ($firstDot !== false) {
$info['name'] = (string) substr($info['name'], $firstDot + 1);
}
return new CollectionInfo($info);
}
/**
* Filter out internal or invalid collections.
*
......@@ -92,4 +71,25 @@ class CollectionInfoLegacyIterator extends FilterIterator implements CollectionI
return true;
}
/**
* Return the current element as a CollectionInfo instance.
*
* @see CollectionInfoIterator::current()
* @see http://php.net/iterator.current
* @return CollectionInfo
*/
public function current()
{
$info = parent::current();
// Trim the database prefix up to and including the first dot
$firstDot = strpos($info['name'], '.');
if ($firstDot !== false) {
$info['name'] = (string) substr($info['name'], $firstDot + 1);
}
return new CollectionInfo($info);
}
}
......@@ -26,6 +26,17 @@ class DatabaseInfo
$this->info = $info;
}
/**
* Return the collection info as an array.
*
* @see http://php.net/oop5.magic#language.oop5.magic.debuginfo
* @return array
*/
public function __debugInfo()
{
return $this->info;
}
/**
* Return the database name.
*
......@@ -55,15 +66,4 @@ class DatabaseInfo
{
return (boolean) $this->info['empty'];
}
/**
* Return the collection info as an array.
*
* @see http://php.net/oop5.magic#language.oop5.magic.debuginfo
* @return array
*/
public function __debugInfo()
{
return $this->info;
}
}
......@@ -34,6 +34,17 @@ class IndexInfo implements ArrayAccess
$this->info = $info;
}
/**
* Return the collection info as an array.
*
* @see http://php.net/oop5.magic#language.oop5.magic.debuginfo
* @return array
*/
public function __debugInfo()
{
return $this->info;
}
/**
* Return the index key.
*
......@@ -157,15 +168,4 @@ class IndexInfo implements ArrayAccess
{
throw new BadMethodCallException('IndexInfo is immutable');
}
/**
* Return the collection info as an array.
*
* @see http://php.net/oop5.magic#language.oop5.magic.debuginfo
* @return array
*/
public function __debugInfo()
{
return $this->info;
}
}
......@@ -61,24 +61,24 @@ class IndexInput implements Serializable
}
/**
* Serialize the index information to BSON for index creation.
* Return the index name.
*
* @see MongoDB\Collection::createIndexes()
* @see http://php.net/bson-serializable.bsonserialize
* @param string
*/
public function bsonSerialize()
public function __toString()
{
return $this->index;
return $this->index['name'];
}
/**
* Return the index name.
* Serialize the index information to BSON for index creation.
*
* @param string
* @see MongoDB\Collection::createIndexes()
* @see http://php.net/bson-serializable.bsonserialize
*/
public function __toString()
public function bsonSerialize()
{
return $this->index['name'];
return $this->index;
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment