Module: Dbviewer::PaginationConcern
- Extended by:
- ActiveSupport::Concern
- Included in:
- TablesController
- Defined in:
- app/controllers/concerns/dbviewer/pagination_concern.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#calculate_total_pages(total_count, per_page) ⇒ Object
Calculate the total number of pages.
-
#set_pagination_params ⇒ Object
Set pagination parameters from request or defaults.
-
#set_sorting_params ⇒ Object
Set sorting parameters from request or defaults.
Instance Method Details
#calculate_total_pages(total_count, per_page) ⇒ Object
Calculate the total number of pages
39 40 41 |
# File 'app/controllers/concerns/dbviewer/pagination_concern.rb', line 39 def calculate_total_pages(total_count, per_page) (total_count.to_f / per_page).ceil end |
#set_pagination_params ⇒ Object
Set pagination parameters from request or defaults
22 23 24 25 26 |
# File 'app/controllers/concerns/dbviewer/pagination_concern.rb', line 22 def set_pagination_params @current_page = [ 1, params[:page].to_i ].max @per_page = params[:per_page] ? params[:per_page].to_i : self.class.default_per_page @per_page = self.class.default_per_page unless self.class..include?(@per_page) end |
#set_sorting_params ⇒ Object
Set sorting parameters from request or defaults
29 30 31 32 33 34 35 36 |
# File 'app/controllers/concerns/dbviewer/pagination_concern.rb', line 29 def set_sorting_params @order_by = params[:order_by].presence || database_manager.primary_key(@table_name).presence || (@columns.first ? @columns.first[:name] : nil) @order_direction = params[:order_direction].upcase if params[:order_direction].present? @order_direction = "ASC" unless self.class::VALID_SORT_DIRECTIONS.include?(@order_direction) end |