Module: Sortability::ActiveRecord::Migration
- Defined in:
- lib/sortability/active_record/migration.rb
Instance Method Summary collapse
-
#add_sortable_column(table, options = {}) ⇒ Object
Adds a non-null sortable column to an existing table (no index).
-
#add_sortable_index(table, options = {}) ⇒ Object
Adds a unique index covering the sort scope cols in an existing table.
Instance Method Details
#add_sortable_column(table, options = {}) ⇒ Object
Adds a non-null sortable column to an existing table (no index)
5 6 7 8 9 10 |
# File 'lib/sortability/active_record/migration.rb', line 5 def add_sortable_column(table, = {}) [:null] = false if [:null].nil? on = .delete(:on) || :sort_position add_column table, on, :integer, end |
#add_sortable_index(table, options = {}) ⇒ Object
Adds a unique index covering the sort scope cols in an existing table
13 14 15 16 17 18 19 20 |
# File 'lib/sortability/active_record/migration.rb', line 13 def add_sortable_index(table, = {}) [:unique] = true if [:unique].nil? scope = .delete(:scope) on = .delete(:on) || :sort_position columns = ([scope] << on).flatten.compact add_index table, columns, end |