Module: SortableModel

Defined in:
lib/sortable-model.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(mod) ⇒ Object



2
3
4
5
6
# File 'lib/sortable-model.rb', line 2

def self.extended(mod)
  mod.module_eval do
    @_sort_scopes = []
  end
end

Instance Method Details

#sorted_by(name, *args) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/sortable-model.rb', line 8

def sorted_by name, *args
  if @_sort_scopes.include?(name.to_sym)
    send("_sorted_by_#{name}", *args)
  else
    raise NoMethodError, "Sort condition is not defined: #{name}"
  end
end