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
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} = (\n SELECT COUNT(*) + 1\n FROM \#{parent} sub\n WHERE sub.\#{@fk} = \#{parent}.\#{@fk}\n AND sub.\#{@sort_key} < \#{parent}.\#{@sort_key}\n )\n SQL\nend\n".strip_heredoc |