Git Product home page Git Product logo

gluon's Introduction

Gluon

## Abstract Gluon is a set of pllua function to power a rules engine for postgresql hstore. The main goal of Gluon is to offer a lightweight and efficient solution to write flawlessly complex business rules.

A rule is designed by its input and output keys and is written in lua. With rule's metadata, Gluon is able to resolve which rules must be executed in a given situation and offers a way to implement business rules without bothering with anything than essential good business code.

Gluon actually implements 2 main features:

  • rule solver: triggers the good rule at the good moment.
  • rule runner: executes the rule and provides results

Gluon is designed to run within a postgresql database supporting key/value hstore type. Its design permits to anybody to write rules.

Installation

Once you retrieved the main archive from github, unzip and run the deploy.sql script. Be aware that this script will create the following objects in the target database:

  • schema pllua: created by pllua extension.
  • schema gluon: created by the script, gluon itself.
  • schema public: hstore functions created by the hstore extension.

# Usage

write rule

Nothing for the moment, update the rule table. -- Fixme: just work on it. :)

execute rule

select gluon.exec(array['wanted_1'], given_hstore) -- Fixme: srsly, is that a manual ?

solve rules

select gluon.solve(array['wanted_1', 'wanted_2']) will return all the information necessary to gain access to the wanted_1 value. -- Fixme: give more information on input and ouput streams.

Dependencies

Postgres 9.0+ with hstore extension and pllua extension. Lua 5.2+

Changelog:

  • v0.1: First kit, elementary functionnalities are present, probably a lot of bugs, beware. See you soon.

Roadmap:

v0.2:

  • regexp/rule support in switches
  • advanced tools to solve conflicts and debug rules execution
  • unit testing module
  • design and develop CLI and GUI
  • pure lua solver and player.

gluon's People

Contributors

zbuben avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

gluon's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.