module RankedModel

Constants

MAX_RANK_VALUE

Signed INT in MySQL

MIN_RANK_VALUE
VERSION

Public Class Methods

included(base) click to toggle source
# File lib/ranked-model.rb, line 13
def self.included base

  base.class_eval do
    class_attribute :rankers

    extend RankedModel::ClassMethods

    before_save :handle_ranking

    scope :rank, lambda { |name|
      reorder ranker(name.to_sym).column
    }
  end

end

Private Instance Methods

handle_ranking() click to toggle source
# File lib/ranked-model.rb, line 31
def handle_ranking
  self.class.rankers.each do |ranker|
    ranker.with(self).handle_ranking
  end
end