class Admino::Query::Sorting
Attributes
config[R]
params[R]
query_i18n_key[R]
Public Class Methods
new(config, params, query_i18n_key = nil)
click to toggle source
# File lib/admino/query/sorting.rb, line 12 def initialize(config, params, query_i18n_key = nil) @config = config @params = ActiveSupport::HashWithIndifferentAccess.new(params) end
Public Instance Methods
active_scope()
click to toggle source
# File lib/admino/query/sorting.rb, line 39 def active_scope if param_value && scopes.include?(param_value.to_sym) param_value.to_sym elsif default_scope default_scope else nil end end
ascending?()
click to toggle source
# File lib/admino/query/sorting.rb, line 29 def ascending? if params[:sort_order] == 'desc' false elsif params[:sort_order].blank? && active_scope == default_scope default_direction_is_ascending? else true end end
augment_scope(scope)
click to toggle source
# File lib/admino/query/sorting.rb, line 17 def augment_scope(scope) if active_scope scope.send(active_scope, ascending? ? :asc : :desc) else scope end end
default_direction()
click to toggle source
# File lib/admino/query/sorting.rb, line 53 def default_direction config.default_direction end
default_direction_is_ascending?()
click to toggle source
# File lib/admino/query/sorting.rb, line 57 def default_direction_is_ascending? default_direction != :desc end
default_scope()
click to toggle source
# File lib/admino/query/sorting.rb, line 49 def default_scope config.default_scope end
is_scope_active?(scope)
click to toggle source
# File lib/admino/query/sorting.rb, line 25 def is_scope_active?(scope) active_scope == scope.to_sym end
param_name()
click to toggle source
# File lib/admino/query/sorting.rb, line 65 def param_name :sorting end
param_value()
click to toggle source
# File lib/admino/query/sorting.rb, line 61 def param_value params.fetch(param_name, nil) end
scopes()
click to toggle source
# File lib/admino/query/sorting.rb, line 69 def scopes config.scopes end