Class: ActiveRecord::Relation::WhereClause
- Inherits:
-
Object
- Object
- ActiveRecord::Relation::WhereClause
- Defined in:
- lib/composite_primary_keys/relation/where_clause.rb
Instance Method Summary collapse
Instance Method Details
#to_h(table_name = nil) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/composite_primary_keys/relation/where_clause.rb', line 4 def to_h(table_name = nil) equalities = equalities(predicates) # CPK Adds this line, because ours are coming in with AND->{EQUALITY, EQUALITY} equalities = predicates.grep(Arel::Nodes::And).map(&:children).flatten.grep(Arel::Nodes::Equality) if equalities.empty? if table_name equalities = equalities.select do |node| node.left.relation.name == table_name end end equalities.map { |node| name = node.left.name.to_s value = extract_node_value(node.right) [name, value] }.to_h end |