PHP Class MongolidLaravel\MongolidModel

The MongolidLaravel\MongolidModel simply extends the original and framework agnostic model of MongoLid and implements some validation rules using Laravel validation components. Remember, this package is meant to be used with Laravel while the "leroy-merlin\mongolid" is meant to be used with other frameworks or even without any.
Inheritance: extends Mongolid\ActiveRecord
Show file Open project: leroy-merlin-br/mongolid-laravel

Public Properties

Property Type Description
$errors Illuminate\Support\MessageBag Error message bag.
$localMock Mockery\Mock Public local mock.
$mock Mockery\Mock Public static mock.
$rules array Validation rules.

Protected Properties

Property Type Description
$hashedAttributes array List of attribute names which should be hashed on save. For example: array('password');.

Public Methods

Method Description
__callStatic ( string $name, array $arguments ) : Expectation | void Initiate a mock expectation on the facade.
all ( )
delete ( ) : boolean Overwrites the delete method in order to be able to check for the expectation in the localMock in order to call the delete method into the existing mock and avoid touching the database.
errors ( ) : Illuminate\Support\MessageBag Get the contents of errors attribute.
first ( mixed $query = [], array $projection = [], boolean $useCache = false ) : ActiveRecord Gets the first entity of this kind that matches the query.
firstOrFail ( mixed $query = [], array $projection = [], boolean $useCache = false ) : ActiveRecord Gets the first entity of this kind that matches the query. If no document was found, throws ModelNotFoundException.
firstOrNew ( mixed $id ) : ActiveRecord Gets the first entity of this kind that matches the query. If no document was found, a new entity will be returned with the _id field filled.
isValid ( ) : boolean Verify if the model is valid by running its validation rules, defined on static attribute $rules.
save ( boolean $force = false ) : boolean Save the model to the database if it's valid. This method also checks for the presence of the localMock in order to call the save method into the existing Mock in order not to touch the database.
shouldReceiveDelete ( ) : Expectation Initiate a mock expectation that is specific for the delete method.
shouldReceiveSave ( ) : Expectation Initiate a mock expectation that is specific for the save method.
update ( )
where ( array $query = [], array $projection = [], boolean $useCache = false ) : Cursor Gets a cursor of this kind of entities that matches the query from the database.

Protected Methods

Method Description
callMockOrParent ( string $method, array $arguments ) : mixed Calls mock method if its have expectations. Calls parent method otherwise.
collection ( ) : MongoDB\Collection Returns the Mongo collection object.
db ( ) : MongoDB\Database Returns the database object (the connection).
getLocalMock ( ) : Mock | Mockery\MockInterface Get a local mock instance.
hasLocalMock ( ) : boolean Check if local mock is set.
hashAttributes ( ) : void Hashes the attributes specified in the hashedAttributes array.
localMockHasExpectationsFor ( string $method ) : boolean Check for a expectation for given method on local mock.
localMockShouldReceive ( string $method ) : Expectation Initiate a mockery expectation that is specific for the given method.

Method Details

__callStatic() public static method

Initiate a mock expectation on the facade.
public static __callStatic ( string $name, array $arguments ) : Expectation | void
$name string Name of the method being called.
$arguments array Method arguments.
return Mockery\Expectation | void

all() public static method

public static all ( )

callMockOrParent() protected static method

Calls mock method if its have expectations. Calls parent method otherwise.
protected static callMockOrParent ( string $method, array $arguments ) : mixed
$method string Name of the method being called.
$arguments array Arguments to pass in method call.
return mixed See parent implementation

collection() protected method

Returns the Mongo collection object.
protected collection ( ) : MongoDB\Collection
return MongoDB\Collection

db() protected method

Returns the database object (the connection).
protected db ( ) : MongoDB\Database
return MongoDB\Database

delete() public method

Overwrites the delete method in order to be able to check for the expectation in the localMock in order to call the delete method into the existing mock and avoid touching the database.
public delete ( ) : boolean
return boolean

errors() public method

Get the contents of errors attribute.
public errors ( ) : Illuminate\Support\MessageBag
return Illuminate\Support\MessageBag Validation errors

first() public static method

Gets the first entity of this kind that matches the query.
public static first ( mixed $query = [], array $projection = [], boolean $useCache = false ) : ActiveRecord
$query mixed MongoDB selection criteria.
$projection array Fields to project in MongoDB query.
$useCache boolean Retrieves the entity through a CacheableCursor.
return Mongolid\ActiveRecord

firstOrFail() public static method

Gets the first entity of this kind that matches the query. If no document was found, throws ModelNotFoundException.
public static firstOrFail ( mixed $query = [], array $projection = [], boolean $useCache = false ) : ActiveRecord
$query mixed MongoDB selection criteria.
$projection array Fields to project in Mongo query.
$useCache boolean Retrieves the entity through a CacheableCursor.
return Mongolid\ActiveRecord

firstOrNew() public static method

Gets the first entity of this kind that matches the query. If no document was found, a new entity will be returned with the _id field filled.
public static firstOrNew ( mixed $id ) : ActiveRecord
$id mixed Document id.
return Mongolid\ActiveRecord

getLocalMock() protected method

Get a local mock instance.
protected getLocalMock ( ) : Mock | Mockery\MockInterface
return Mockery\Mock | Mockery\MockInterface

hasLocalMock() protected method

Check if local mock is set.
protected hasLocalMock ( ) : boolean
return boolean

hashAttributes() protected method

Hashes the attributes specified in the hashedAttributes array.
protected hashAttributes ( ) : void
return void

isValid() public method

Verify if the model is valid by running its validation rules, defined on static attribute $rules.
public isValid ( ) : boolean
return boolean

localMockHasExpectationsFor() protected method

Check for a expectation for given method on local mock.
protected localMockHasExpectationsFor ( string $method ) : boolean
$method string Name of the method being checked.
return boolean

localMockShouldReceive() protected method

Initiate a mockery expectation that is specific for the given method.
protected localMockShouldReceive ( string $method ) : Expectation
$method string Name of the method being mocked.
return Mockery\Expectation

save() public method

Save the model to the database if it's valid. This method also checks for the presence of the localMock in order to call the save method into the existing Mock in order not to touch the database.
public save ( boolean $force = false ) : boolean
$force boolean Force save even if the object is invalid.
return boolean

shouldReceiveDelete() public method

Initiate a mock expectation that is specific for the delete method.
public shouldReceiveDelete ( ) : Expectation
return Mockery\Expectation

shouldReceiveSave() public method

Initiate a mock expectation that is specific for the save method.
public shouldReceiveSave ( ) : Expectation
return Mockery\Expectation

update() public method

public update ( )

where() public static method

Gets a cursor of this kind of entities that matches the query from the database.
public static where ( array $query = [], array $projection = [], boolean $useCache = false ) : Cursor
$query array MongoDB selection criteria.
$projection array Fields to project in MongoDB query.
$useCache boolean Retrieves a CacheableCursor instead.
return Mongolid\Cursor\Cursor

Property Details

$errors public property

Error message bag.
public MessageBag,Illuminate\Support $errors
return Illuminate\Support\MessageBag

$hashedAttributes protected property

List of attribute names which should be hashed on save. For example: array('password');.
protected array $hashedAttributes
return array

$localMock public property

Public local mock.
public Mock,Mockery $localMock
return Mockery\Mock

$mock public static property

Public static mock.
public static Mock,Mockery $mock
return Mockery\Mock

$rules public static property

Validation rules.
public static array $rules
return array