Pergunta

Eu estou procurando uma maneira simples de permitir que os usuários definir um conjunto de regras para objetos de filtro.

Por exemplo. deixá-los definir algo como "Notificar-me sobre uma reserva se a data de reserva <2009/04/30 E value> 100,00"

Mais ou menos:. Eu gostaria de ter um rubi mecanismo de regras com DSL personalizado

Existe uma oferta de biblioteca que? Deparei Ruleby, mas ele não suporta DSL costume, ainda.

Qual é a melhor apporach fazer isso?

Foi útil?

Solução

Dê uma olhada Treetop . Você pode definir sua DSL como uma expressão de análise gramática e, em seguida, analisá-lo para criar suas regras em qualquer formato que você gosta.

Outras dicas

Tenha um olhar para o wongi-motor gem é um novo mecanismo de regras baseado no algoritmo Rete que está a ganhar um pouco de atenção ultimamente.

Eu não sei exatamente como e em quais objetos estas regras devem ser avaliadas, mas se estes são modelos ActiveRecord talvez ambição seria caminho a percorrer. Ele permite que você escreve condições em rubi, algo como:

User.select { |m| m.name == 'jon' && m.age == 21 }

Este é convertido em SQL e você vai ter todos os usuários correspondem aos critérios mencionados

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top