Class: Workarea::SortNavigationMenusByOrders

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.performObject



3
4
5
# File 'app/services/workarea/sort_navigation_menus_by_orders.rb', line 3

def self.perform
  new.perform
end

Instance Method Details



11
12
13
# File 'app/services/workarea/sort_navigation_menus_by_orders.rb', line 11

def menus
  @menus ||= Navigation::Menu.all.to_a
end

#performObject



7
8
9
# File 'app/services/workarea/sort_navigation_menus_by_orders.rb', line 7

def perform
  sorted_menus.each_with_index { |m, i| m.set(position: i) }
end

#sorted_menusObject



15
16
17
# File 'app/services/workarea/sort_navigation_menus_by_orders.rb', line 15

def sorted_menus
  @sorted_menus ||= menus.sort_by { |m| scores[m] || 999 }.reverse
end