Method: Hyperion::Sql::QueryBuilder#build_update

Defined in:
lib/hyperion/sql/query_builder.rb

#build_update(record) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/hyperion/sql/query_builder.rb', line 26

def build_update(record)
  record = record.dup
  table, id = Key.decompose_key(record.delete(:key))
  table = format_table(record.delete(:kind))
  column_values = record.keys.map {|field| "#{format_column(field)} = ?"}
  query = qb_strategy.normalize_update("UPDATE #{table} SET #{column_values.join(', ')} WHERE #{quote('id')} = #{id}")
  SqlQuery.new(query, record.values)
end