lib/pg_conn.rb in pg_conn-0.27.0 vs lib/pg_conn.rb in pg_conn-0.27.1

- old
+ new

@@ -981,11 +981,14 @@ end end # :call-seq # parse_query(query) - # parse_query(table, id_or_where_clause = "true", fields = []) + # parse_query(table, id, fields...) + # parse_query(table, where_clause, fields...) + # parse_query(table, hash, fields...) + # parse_query(table, fields...) # # Parse a query. Used in query-functions (#value etc.). The fields argument # can be a list of fields or arrays of fields # def parse_query(*args) @@ -996,9 +999,13 @@ where_clause = "true" fields = [] case args.first when Integer; where_clause = "id = #{args.shift}" when String; where_clause = args.shift + when Hash + where_clause = args.shift.map { |k,v| + "#{self.quote_identifier(k)} = #{self.quote_value(v) }" + }.join(" and ") when Symbol; fields << args.shift when Array; fields = args.shift when nil; where_clause = "true" else raise ArgumentError