in lib/aws-record/record/item_operations.rb [588:606]
def update(new_params, opts = {})
key = {}
@keys.keys.each_value do |attr_sym|
unless (value = new_params.delete(attr_sym))
raise Errors::KeyMissing, "Missing required key #{attr_sym} in #{new_params}"
end
attr_name = attributes.storage_name_for(attr_sym)
key[attr_name] = attributes.attribute_for(attr_sym).serialize(value)
end
update_opts = {
table_name: table_name,
key: key
}
update_expression_opts = _build_update_expression(new_params)
opts = _merge_update_expression_opts(update_expression_opts, opts)
dynamodb_client.update_item(opts.merge(update_opts))
end