Class: RademadeAdmin::SortableService

Inherits:
Object
  • Object
show all
Defined in:
app/services/sortable_service.rb

Instance Method Summary collapse

Constructor Details

#initialize(model_info, params) ⇒ SortableService



4
5
6
7
# File 'app/services/sortable_service.rb', line 4

def initialize(model_info, params)
  @model_info = model_info
  @params = params
end

Instance Method Details

#can_reset?Boolean



18
19
20
# File 'app/services/sortable_service.rb', line 18

def can_reset?
  @params[:sort].present?
end

#has_position?Boolean



34
35
36
# File 'app/services/sortable_service.rb', line 34

def has_position?
  @model_info.has_field? 'position'
end

#re_sort_itemsObject



9
10
11
12
13
14
15
16
# File 'app/services/sortable_service.rb', line 9

def re_sort_items
  min = @params[:minimum].to_i
  @params[:sorted].each do |k, v|
    item = @model_info.model.find(v[0])
    item.position = k.to_i + 1 + min
    item.save
  end
end

#sorting_sign(name) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
# File 'app/services/sortable_service.rb', line 22

def sorting_sign(name)
  if name.to_s == @params[:sort]
    case @params[:direction]
      when 'asc'
        return ''
      when 'desc'
        return ''
    end
  end
  ''
end