Class: Workarea::BrowseNavigationSeeds

Inherits:
Object
  • Object
show all
Defined in:
app/seeds/workarea/browse_navigation_seeds.rb

Instance Method Summary collapse

Instance Method Details

#performObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/seeds/workarea/browse_navigation_seeds.rb', line 3

def perform
  puts 'Adding browsing navigation...'

  if new = Catalog::Category.find_by(name: 'New') rescue nil
    taxon = Navigation::Taxon.root.children.create!(navigable: new)
    menu = Navigation::Menu.create!(taxon: taxon)
  end

  Workarea.config.default_seeds_taxonomy.each do |top_level, children|
    page = Content::Page.find_by(name: top_level)
    categories = Catalog::Category.any_in(name: children)
    taxon = Navigation::Taxon.root.children.create!(navigable: page)
    menu = Navigation::Menu.create!(taxon: taxon)
    next if categories.blank?

    content = Content.for(menu)
    content.blocks.create!(
      type: 'taxonomy',
      data: { start: taxon.id, show_starting_taxon: false }
    )

    categories.each do |category|
      taxon.children.create!(navigable: category)
    end
  end
end