Class: Neo4j::Core::QueryClauses::WhereClause
- Defined in:
- lib/neo4j-core/query_clauses.rb
Constant Summary
Constants included from CypherTranslator
CypherTranslator::EMPTY_PROPS, CypherTranslator::SANITIZE_ESCAPED_REGEXP
Instance Attribute Summary
Attributes inherited from Clause
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Clause
#attributes_from_key_and_value, from_args, #from_hash, #from_string, #initialize, #label_from_key_and_value, #node_from_key_and_value, to_cypher, #value, #var_from_key_and_value
Methods included from CypherTranslator
#create_escape_value, #cypher_prop_list, #cypher_string, #escape_quotes, #escape_value, #label_string, #prop_identifier, #sanitize_escape_sequences, sanitized_column_names, translate_response
Constructor Details
This class inherits a constructor from Neo4j::Core::QueryClauses::Clause
Class Method Details
.clause_string(clauses) ⇒ Object
211 212 213 |
# File 'lib/neo4j-core/query_clauses.rb', line 211 def clause_string(clauses) clauses.map(&:value).flatten.map {|value| "(#{value})" }.join(' AND ') end |
Instance Method Details
#from_key_and_value(key, value, previous_keys = []) ⇒ Object
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 |
# File 'lib/neo4j-core/query_clauses.rb', line 186 def from_key_and_value(key, value, previous_keys = []) case value when Hash value.map do |k, v| if k.to_sym == :neo_id clause_id = "neo_id_#{v}" @params[clause_id] = v.to_i "ID(#{key}) = {#{clause_id}}" else "#{key}.#{from_key_and_value(k, v, previous_keys + [key])}" end end.join(' AND ') when NilClass "#{key} IS NULL" when Regexp pattern = (value.casefold? ? '(?i)' : '') + value.source "#{key} =~ #{escape_value(pattern.gsub(/\\/, '\\\\\\'))}" when Array key_value_string(key, value, previous_keys) else key_value_string(key, value, previous_keys) end end |