flaviostutz / ruller-dsl-feature-flag

A feature flag engine that can be used to enable, change or rollout features of a system dynamically based on system or user attributes
MIT License
2 stars 6 forks source link

Code generated with wrong "groupName" #1

Closed LucasMilhomem closed 5 years ago

LucasMilhomem commented 5 years ago

Using .json file below to generate rules:

{
  "_groups": {

        "dependencias":["1004"],
        "contratos":["523038"]

    },
    "_items": [
        {
            "nomeAplicativo": "TESTE",
            "_condition" : "contains(group:dependencias,input:dependencia)"
        },
        {
            "nomeAplicativo": "TESTE",
            "_condition" : "contains(group:dependencias,input:dependencia)"
        },
        {
            "nomeAplicativo": "TESTE",
            "_condition" : "contains(group:dependencias,input:dependencia)"
        } 
}

But then he outputs the following when generating rules for ruller:

groupContains("piloto","dependencia.(string)s",ctx.Input["dependencia"].(string)) && groupContains("piloto","contrato.(string)s",ctx.Input["contrato"].(string))

when replaced by the correct string ("dependencias" and "contratos") it works. It looks like a problem with this regex ln.354:

//GROUP REFERENCES TO STRING //condition="group:members" ---> ""members"" regexp.MustCompile("contains\(\s*group:([a-z0-9-]+)\s,\s([0-9a-z:]+)\s*\)")

LucasMilhomem commented 5 years ago

Bug resolved at commit revision: 2613904798d2d140f87a4ca6a2222224ec6abdbf