module AssociateJsonb::Relation::WhereClause
Public Instance Methods
to_h(table_name = nil)
click to toggle source
# File lib/associate_jsonb/relation/where_clause.rb, line 7 def to_h(table_name = nil) equalities = equalities(predicates) if table_name equalities = equalities.select do |node| node.original_left.relation.name == table_name end end equalities.map { |node| name = node.original_left.name.to_s value = extract_node_value(node.right) [name, value] }.to_h end
Private Instance Methods
equalities(predicates)
click to toggle source
# File lib/associate_jsonb/relation/where_clause.rb, line 23 def equalities(predicates) equalities = [] predicates.each do |node| case node when Arel::Nodes::Equality, Arel::Nodes::SqlCastedEquality equalities << node when Arel::Nodes::And equalities.concat equalities(node.children) end end equalities end