Module: SimpleListing::Sortable::ClassMethods

Defined in:
lib/simple_listing/sortable.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#sortable_keysObject (readonly)

Returns the value of attribute sortable_keys.



8
9
10
# File 'lib/simple_listing/sortable.rb', line 8

def sortable_keys
  @sortable_keys
end

#sorting_handlersObject (readonly)

Returns the value of attribute sorting_handlers.



9
10
11
# File 'lib/simple_listing/sortable.rb', line 9

def sorting_handlers
  @sorting_handlers
end

Instance Method Details

#sort_by(key, handler_proc) ⇒ Object



17
18
19
20
21
# File 'lib/simple_listing/sortable.rb', line 17

def sort_by(key, handler_proc)
  sortable_by key
  @sorting_handlers ||= {}.with_indifferent_access
  @sorting_handlers[key] = handler_proc
end

#sortable_by(*keys) ⇒ Object



11
12
13
14
15
# File 'lib/simple_listing/sortable.rb', line 11

def sortable_by(*keys)
  @sortable_keys ||= []
  @sortable_keys += keys.map(&:to_s)
  @sortable_keys.uniq!
end