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

Returns a new instance of SortableService.



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

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

Instance Method Details

#can_reset?Boolean

Returns:

  • (Boolean)


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

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

#has_position?Boolean

Returns:

  • (Boolean)


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

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

#re_sort_itemsObject



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

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



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

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