class ActiveAdmin::OrderClause
Attributes
Public Class Methods
Source
# File lib/active_admin/order_clause.rb, line 6 def initialize(active_admin_config, clause) clause =~ /^([\w\.]+)(->'\w+')?_(desc|asc)$/ @column = $1 @op = $2 @order = $3 @active_admin_config = active_admin_config @field = [@column, @op].compact.join end
Public Instance Methods
Source
# File lib/active_admin/order_clause.rb, line 19 def apply(chain) chain.reorder(Arel.sql sql) end
Source
# File lib/active_admin/order_clause.rb, line 27 def table active_admin_config.resource_column_names.include?(@column) ? active_admin_config.resource_table_name : nil end
Source
# File lib/active_admin/order_clause.rb, line 31 def table_column (@column =~ /\./) ? @column : [table, active_admin_config.resource_quoted_column_name(@column)].compact.join(".") end
Source
# File lib/active_admin/order_clause.rb, line 23 def to_sql [table_column, @op, " ", @order].compact.join end
Source
# File lib/active_admin/order_clause.rb, line 15 def valid? @field.present? && @order.present? end
Protected Instance Methods
Source
# File lib/active_admin/order_clause.rb, line 42 def custom_sql if active_admin_config.ordering[@column].present? active_admin_config.ordering[@column].call(self) end end