Module: KirguduBase::Models::Sorting::ClassMethods

Defined in:
app/helpers/kirgudu_base/models/sorting.rb

Instance Method Summary collapse

Instance Method Details

#allowed_fields_to_sortObject



26
27
28
29
30
31
# File 'app/helpers/kirgudu_base/models/sorting.rb', line 26

def allowed_fields_to_sort
  unless defined?(@allowed_fields_to_sort)
    @allowed_fields_to_sort = []
  end
  @allowed_fields_to_sort
end

#allowed_fields_to_sort=(value) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
# File 'app/helpers/kirgudu_base/models/sorting.rb', line 33

def allowed_fields_to_sort= value
  @allowed_fields_to_sort = []
  if value
    if value.is_a?(Array)
      value.each do |i|
        @allowed_fields_to_sort.push i.to_s
      end
    else
      @allowed_fields_to_sort.push value.to_s
    end
  end
end

#default_sort_fieldObject



14
15
16
# File 'app/helpers/kirgudu_base/models/sorting.rb', line 14

def default_sort_field
  defined?(@default_sort_field) ? @default_sort_field : nil
end

#default_sort_field=(value) ⇒ Object



18
19
20
21
22
23
24
# File 'app/helpers/kirgudu_base/models/sorting.rb', line 18

def default_sort_field= value
  if value
    @default_sort_field = value.to_s
  else
    @default_sort_field = nil
  end
end

#invert_sort_order(sort_order = nil) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
# File 'app/helpers/kirgudu_base/models/sorting.rb', line 53

def invert_sort_order(sort_order = nil)
  sort_order ||= ""
  sort_order = sort_order.to_s

  return 'desc' if  sort_order.empty?

  sort_order = sanitize_sortorder(sort_order)

  return 'desc' if sort_order == 'asc'
  'asc'
end

#sanitize_sort_order(sort_order = nil) ⇒ Object



46
47
48
49
50
51
# File 'app/helpers/kirgudu_base/models/sorting.rb', line 46

def sanitize_sort_order(sort_order = nil)
  return 'asc' if  sort_order.nil? || sort_order.empty?
  return 'asc' if sort_order.to_s.downcase == 'asc'
  return 'desc' if sort_order.to_s.downcase == 'desc'
  'asc'
end