Skip to content

Commit

Permalink
Merge pull request #207 from neo4jrb/fix_set_array_values
Browse files Browse the repository at this point in the history
Don't convert arrays to the first element in `key_value_string` if it is a `set`
  • Loading branch information
cheerfulstoic committed May 23, 2015
2 parents 642b0b6 + 6e8d714 commit b6ae98a
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
6 changes: 3 additions & 3 deletions lib/neo4j-core/query_clauses.rb
Original file line number Diff line number Diff line change
Expand Up @@ -143,15 +143,15 @@ def to_cypher(clauses)

private

def key_value_string(key, value, previous_keys = [], force_equals = false)
def key_value_string(key, value, previous_keys = [], is_set = false)
param = (previous_keys << key).join(UNDERSCORE)
param.tr_s!('^a-zA-Z0-9', UNDERSCORE)
param.gsub!(/^_+|_+$/, '')

value = value.first if value.is_a?(Array) && value.size == 1
value = value.first if !is_set && value.is_a?(Array) && value.size == 1
@params[param.to_sym] = value

if !value.is_a?(Array) || force_equals
if !value.is_a?(Array) || is_set
"#{key} = {#{param}}"
else
"#{key} IN {#{param}}"
Expand Down
2 changes: 1 addition & 1 deletion lib/neo4j-server/cypher_node.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def _java_node
# (see Neo4j::Node#create_rel)
def create_rel(type, other_node, props = nil)
q = @session.query.match(:a, :b).where(a: {neo_id: neo_id}, b: {neo_id: other_node.neo_id})
.create("(a)-[r:`#{type}`]->(b)").break.set_props(r: props).return(r: :neo_id)
.create("(a)-[r:`#{type}`]->(b)").break.set(r: props).return(r: :neo_id)

id = @session._query_or_fail(q, true)

Expand Down

0 comments on commit b6ae98a

Please sign in to comment.