Module: WillSort::ClassMethods
- Defined in:
- lib/will_sort.rb
Instance Attribute Summary collapse
-
#use_default_sort_by ⇒ Object
Returns the value of attribute use_default_sort_by.
-
#use_default_sort_dir ⇒ Object
Returns the value of attribute use_default_sort_dir.
Instance Method Summary collapse
- #get_search_order(params, default_sort_by, default_dir) ⇒ Object
- #param_exists(params, param) ⇒ Object
- #safe_sort_dir_or_default(param, default) ⇒ Object
- #safe_sort_param_or_default(param, default) ⇒ Object
- #will_sort(params, default = '') ⇒ Object
Instance Attribute Details
#use_default_sort_by ⇒ Object
Returns the value of attribute use_default_sort_by.
9 10 11 |
# File 'lib/will_sort.rb', line 9 def use_default_sort_by @use_default_sort_by end |
#use_default_sort_dir ⇒ Object
Returns the value of attribute use_default_sort_dir.
9 10 11 |
# File 'lib/will_sort.rb', line 9 def use_default_sort_dir @use_default_sort_dir end |
Instance Method Details
#get_search_order(params, default_sort_by, default_dir) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/will_sort.rb', line 21 def get_search_order(params,default_sort_by,default_dir) sort_by = safe_sort_param_or_default(params[:sort_by],default_sort_by) dir = safe_sort_dir_or_default(params[:dir],default_dir) order = "#{sort_by} #{dir}" logger.warn('[WILL_SORT] sorting by: ' + order) return order end |
#param_exists(params, param) ⇒ Object
55 56 57 |
# File 'lib/will_sort.rb', line 55 def param_exists(params,param) params[param] && !params[param].blank? end |
#safe_sort_dir_or_default(param, default) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/will_sort.rb', line 42 def safe_sort_dir_or_default(param,default) sortable_dirs = ['asc','desc'] if param.blank? return default else if sortable_dirs.include?(param) return param else return default end end end |
#safe_sort_param_or_default(param, default) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/will_sort.rb', line 29 def safe_sort_param_or_default(param,default) sortable_fields = self.sortable_fields if param.blank? return default else if sortable_fields.include?(param) return param else return default end end end |
#will_sort(params, default = '') ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/will_sort.rb', line 11 def will_sort(params,default='') if !default.blank? self.use_default_sort_by, self.use_default_sort_dir = default.split(" ") else self.use_default_sort_by = self.default_sort_by self.use_default_sort_dir = self.default_sort_dir end get_search_order(params,self.use_default_sort_by,self.use_default_sort_dir) end |