Module: LineUp
- Defined in:
- lib/line-up.rb,
lib/line_up/version.rb
Defined Under Namespace
Classes: UndefinedColumnError
Constant Summary collapse
- VERSION =
"0.0.2"
Instance Method Summary collapse
Instance Method Details
#line_up!(ids, column = :position) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/line-up.rb', line 10 def line_up!(ids, column = :position) if column_names.exclude?(column.to_s) raise UndefinedColumnError, "a column named '#{column}' does not exist on the #{table_name} table" end new_position_query = ids.map.with_index do |id, index| sanitized_id = sanitize_sql(id: id) "UPDATE #{table_name} SET #{column} = #{index} WHERE #{sanitized_id};" end.join("\n") connection.execute(new_position_query) end |