From: Jean-Christophe Beaupré Date: Thu, 15 Jun 2017 17:24:37 +0000 (-0400) Subject: neo4j: Add a fluent interface to set queries’ parameters X-Git-Url: http://nitlanguage.org neo4j: Add a fluent interface to set queries’ parameters Signed-off-by: Jean-Christophe Beaupré --- diff --git a/lib/neo4j/neo4j.nit b/lib/neo4j/neo4j.nit index f054423..2489f9c 100644 --- a/lib/neo4j/neo4j.nit +++ b/lib/neo4j/neo4j.nit @@ -415,6 +415,13 @@ class CypherQuery self.params = params end + # Pass the argument `value` as the parameter `key`. + # + # SEE: `set` + fun []=(key: String, value: nullable Serializable) do + params[key] = value + end + # Add a `CREATE` statement to the query fun ncreate(query: String): CypherQuery do self.query = "{self.query}CREATE {query} " @@ -451,6 +458,23 @@ class CypherQuery return self end + # Pass the argument `value` as the parameter `key`. + # + # Return `self`. + # + # ``` + # var query = (new CypherQuery).nmatch("(n)").nwhere( + # "n.key = key").set("key", "foo") + # + # assert query.params["key"] == "foo" + # ``` + # + # SEE: `[]=` + fun set(key: String, value: nullable Serializable): SELF do + self[key] = value + return self + end + # Translate the query to the body of a corresponding Neo4j REST request. fun to_rest: JsonObject do var obj = new JsonObject