Class: Infold::Project

Inherits:
ApplicationRecord show all
Defined in:
app/models/infold/project.rb

Instance Method Summary collapse

Instance Method Details

#create_menu_itemsObject



8
9
10
11
12
13
# File 'app/models/infold/project.rb', line 8

def create_menu_items
  seq = menu_items.size
  App.all.where.not(id: menu_items.map(&:app_id).compact).each_with_index do |app, i|
    menu_items.create!(kind: :app, app: app, directory: nil, seq: seq += i)
  end
end

#destroy_blank_menu_directoryObject



23
24
25
26
27
# File 'app/models/infold/project.rb', line 23

def destroy_blank_menu_directory
  menu_items.select { |menu| menu.kind_directory? && menu.menu_apps.blank? }.each do |blank_dir|
    blank_dir.destroy
  end
end

#root_appObject



15
16
17
18
19
20
21
# File 'app/models/infold/project.rb', line 15

def root_app
  menu = menu_items.select(&:layer1?).sort_by(&:seq).first
  if menu.kind_directory?
    menu = menu.menu_apps.sort_by(&:seq).first
  end
  menu&.app
end