Sha256: 91ae741fd165776ce192bbdbefb41cdd1e6d4eaee0433204e811954e87245d22

Contents?: true

Size: 729 Bytes

Versions: 12

Compression:

Stored size: 729 Bytes

Contents

module ActiveRecord
  class Relation
    class WhereClause
      def to_h(table_name = nil)
        equalities = predicates.grep(Arel::Nodes::Equality)

        # 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
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
composite_primary_keys-11.3.1 lib/composite_primary_keys/relation/where_clause.rb
composite_primary_keys-11.2.0 lib/composite_primary_keys/relation/where_clause.rb
composite_primary_keys-11.1.0 lib/composite_primary_keys/relation/where_clause.rb
composite_primary_keys-11.0.3 lib/composite_primary_keys/relation/where_clause.rb
composite_primary_keys-11.0.2 lib/composite_primary_keys/relation/where_clause.rb
composite_primary_keys-11.0.1 lib/composite_primary_keys/relation/where_clause.rb
composite_primary_keys-11.0.0 lib/composite_primary_keys/relation/where_clause.rb
composite_primary_keys-11.0.0.rc1 lib/composite_primary_keys/relation/where_clause.rb
composite_primary_keys-11.0.0.beta4 lib/composite_primary_keys/relation/where_clause.rb
composite_primary_keys-11.0.0.beta3 lib/composite_primary_keys/relation/where_clause.rb
composite_primary_keys-11.0.0.beta2 lib/composite_primary_keys/relation/where_clause.rb
composite_primary_keys-11.0.0.beta1 lib/composite_primary_keys/relation/where_clause.rb