You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ivan Enderlin 8f790413c4 Prepare 3 years ago
DataCollector Updated the bundle's namespace to "Hoathis\SymfonyRulerBundle" 4 years ago
DependencyInjection Fix configuration root 4 years ago
Resources Update Hoa's logo. 4 years ago
Ruler Provide a factory method in Ruler to create a new context 4 years ago
.gitattributes Add .gitattributes 4 years ago Prepare 3 years ago
HoathisSymfonyRulerBundle.php Updated the bundle's namespace to "Hoathis\SymfonyRulerBundle" 4 years ago
LICENSE Update copyright 4 years ago Fix configuration root 4 years ago
composer.json Updated dependency version 3 years ago


Hoa is a modular, extensible and structured set of PHP libraries. Moreover, Hoa aims at being a bridge between industrial and research worlds.


Integrates Hoa\Ruler in Symfony.


With Composer, to include this bundle into your dependencies, you need to require hoathis/symfony-ruler-bundle:

    "require": {
        "hoathis/symfony-ruler-bundle": "~0.0"

And add RulerBundle to your AppKernel:

// app/AppKernel.php

class AppKernel extends Kernel
    // …

    public function registerBundles()
        $bundles = array(
            // …
            new Hoathis\SymfonyRulerBundle\HoathisSymfonyRulerBundle(),

        // …

Quick usage

Ruler service

The RulerBundle defines a hoathis.ruler service that can be used as described in Hoa\Ruler's documentation.

public function indexAction(Request $request)
    // 1. Write a rule.
    $ruler = $this->get('hoathis.ruler');
    $rule  = 'group in ["customer", "guest"] and points > 30';

    // 2. Create a context.
    $context           = $ruler->getNewContext();
    $context['group']  = 'customer';
    $context['points'] = function () {
        return 42;

    // 3. Assert!
        $ruler->assert($rule, $context) // bool(true)


When the debug mode is enabled, all assertions are logged and displayed in the web profiler:

profiler toolbar profiler panel

Configuration reference

    debug:  %kernel.debug%


Hoa is under the New BSD License (BSD-3-Clause). Please, see LICENSE.