Class: ActiveGraph::Core::QueryClauses::SetClause

Inherits:
Clause
  • Object
show all
Defined in:
lib/active_graph/core/query_clauses.rb

Direct Known Subclasses

OnCreateSetClause

Constant Summary collapse

KEYWORD =
'SET'

Constants inherited from Clause

Clause::AND, Clause::COMMA_SPACE, Clause::PRETTY_NEW_LINE, Clause::UNDERSCORE

Instance Attribute Summary

Attributes inherited from Clause

#arg, #options, #param_vars_added, #params

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Clause

#_nested_value_hash?, #_use_key_for_var?, #add_param, #add_params, #attributes_from_key_and_value, clause_string, from_arg, from_args, #from_hash, from_key_and_single_value, #from_string, #initialize, keyword, keyword_downcase, #label_from_key_and_value, #node_from_key_and_value, paramaterize_key!, to_cypher, #value, #var_from_key_and_value

Constructor Details

This class inherits a constructor from ActiveGraph::Core::QueryClauses::Clause

Class Method Details

.clause_colorObject



620
621
622
# File 'lib/active_graph/core/query_clauses.rb', line 620

def clause_color
  ANSI::YELLOW
end

.clause_joinObject



616
617
618
# File 'lib/active_graph/core/query_clauses.rb', line 616

def clause_join
  Clause::COMMA_SPACE
end

.clause_strings(clauses) ⇒ Object



612
613
614
# File 'lib/active_graph/core/query_clauses.rb', line 612

def clause_strings(clauses)
  clauses.map!(&:value)
end

Instance Method Details

#from_key_and_value(key, value) ⇒ Object



594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
# File 'lib/active_graph/core/query_clauses.rb', line 594

def from_key_and_value(key, value)
  case value
  when String, Symbol then "#{key}:`#{value}`"
  when Hash
    if @options[:set_props]
      param = add_param("#{key}_set_props", value)
      "#{key} = $#{param}"
    else
      value.map { |k, v| key_value_string("#{key}.`#{k}`", v, ['setter'], true) }
    end
  when Array then value.map { |v| from_key_and_value(key, v) }
  when NilClass then []
  else
    fail ArgError, value
  end
end