add() public method

All rules should be anonymous functions and will be passed $user, $request, and $options which will contain the entire rule array which contains its own name plus other data that could be used to determine access.
public add ( string $name, function $rule = null )
$name string The rule name.
$rule function The closure for the rule, which has to return true or false.
Example #1
0
 public function testAdd()
 {
     $request = new Request();
     $user = array('username' => 'Tom');
     $adapter = new Rules();
     $adapter->add('testDeny', function ($user, $request, $options) {
         return false;
     });
     $rules = array(array('rule' => 'testDeny', 'message' => 'Access denied.'));
     $expected = array('rule' => 'testDeny', 'message' => 'Access denied.');
     $result = $adapter->check($user, compact('request'), compact('rules'));
     $this->assertEqual($expected, $result);
     $this->assertTrue(is_callable($adapter->get('testDeny')));
     $this->assertEqual($adapter->get('testDeny'), $adapter->getRules('testDeny'));
     $rules = $adapter->get();
     $this->assertTrue(is_array($rules));
     $this->assertTrue(in_array('testDeny', array_keys($rules)));
 }