Class: HandySort::Retentioner
- Inherits:
-
Object
- Object
- HandySort::Retentioner
- Defined in:
- lib/handy_sort/retentioner.rb
Instance Method Summary collapse
-
#initialize(klass, sort_key, fk) ⇒ Retentioner
constructor
A new instance of Retentioner.
- #retention ⇒ Object
Constructor Details
#initialize(klass, sort_key, fk) ⇒ Retentioner
Returns a new instance of Retentioner.
3 4 5 |
# File 'lib/handy_sort/retentioner.rb', line 3 def initialize(klass, sort_key, fk) @klass, @sort_key, @fk = klass, sort_key, fk end |
Instance Method Details
#retention ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/handy_sort/retentioner.rb', line 7 def retention parent = @klass.quoted_table_name @klass.update_all "\#{@sort_key} = (\nSELECT COUNT(*) + 1\nFROM \#{parent} sub\nWHERE sub.\#{@fk} = \#{parent}.\#{@fk}\nAND sub.\#{@sort_key} < \#{parent}.\#{@sort_key}\n)\n".strip_heredoc end |