class AjaxDatatablesRails::Datatable::SimpleOrder
Constants
- DIRECTIONS
- DIRECTION_ASC
- DIRECTION_DESC
Public Class Methods
new(datatable, options = {})
click to toggle source
# File lib/ajax-datatables-rails/datatable/simple_order.rb, line 11 def initialize(datatable, options = {}) @datatable = datatable @options = options end
Public Instance Methods
column()
click to toggle source
# File lib/ajax-datatables-rails/datatable/simple_order.rb, line 20 def column @datatable.column_by(:index, column_index) end
direction()
click to toggle source
# File lib/ajax-datatables-rails/datatable/simple_order.rb, line 24 def direction DIRECTIONS.find { |dir| dir == column_direction } || DIRECTION_ASC end
query(sort_column)
click to toggle source
# File lib/ajax-datatables-rails/datatable/simple_order.rb, line 16 def query(sort_column) [sort_column, direction, nulls_last_sql].compact.join(' ') end
Private Instance Methods
column_direction()
click to toggle source
# File lib/ajax-datatables-rails/datatable/simple_order.rb, line 34 def column_direction @options[:dir].upcase end
column_index()
click to toggle source
# File lib/ajax-datatables-rails/datatable/simple_order.rb, line 30 def column_index @options[:column] end
nulls_last_sql()
click to toggle source
# File lib/ajax-datatables-rails/datatable/simple_order.rb, line 42 def nulls_last_sql return unless sort_nulls_last? case AjaxDatatablesRails.config.db_adapter when :pg, :postgresql, :postgres, :oracle 'NULLS LAST' when :mysql, :mysql2, :sqlite, :sqlite3 'IS NULL' else raise 'unsupported database adapter' end end
sort_nulls_last?()
click to toggle source
# File lib/ajax-datatables-rails/datatable/simple_order.rb, line 38 def sort_nulls_last? column.nulls_last? || AjaxDatatablesRails.config.nulls_last == true end