Module: ElaineCrud::SortingConcern
- Extended by:
- ActiveSupport::Concern
- Included in:
- BaseController
- Defined in:
- lib/elaine_crud/sorting_concern.rb
Overview
Concern for sorting functionality in ElaineCrud controllers Provides methods for URL parameter-based sorting with validation
Instance Method Summary collapse
-
#current_sort_column ⇒ Symbol
Get current sort column from params or default.
-
#current_sort_direction ⇒ Symbol
Get current sort direction from params or default.
-
#toggle_sort_direction(current_direction) ⇒ Symbol
Get the opposite direction for toggling sort.
Instance Method Details
#current_sort_column ⇒ Symbol
Get current sort column from params or default
11 12 13 14 15 16 17 |
# File 'lib/elaine_crud/sorting_concern.rb', line 11 def current_sort_column if params[:sort].present? && valid_sort_column?(params[:sort]) params[:sort].to_sym else self.class.default_sort_column || :id end end |
#current_sort_direction ⇒ Symbol
Get current sort direction from params or default
21 22 23 24 25 26 27 |
# File 'lib/elaine_crud/sorting_concern.rb', line 21 def current_sort_direction if params[:direction].present? && %w[asc desc].include?(params[:direction]) params[:direction].to_sym else self.class.default_sort_direction || :asc end end |
#toggle_sort_direction(current_direction) ⇒ Symbol
Get the opposite direction for toggling sort
32 33 34 |
# File 'lib/elaine_crud/sorting_concern.rb', line 32 def toggle_sort_direction(current_direction) current_direction.to_sym == :asc ? :desc : :asc end |