Class: Workarea::Storefront::ContentBlocks::NavigationViewModel

Inherits:
Workarea::Storefront::ContentBlockViewModel show all
Defined in:
app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb

Instance Method Summary collapse

Methods inherited from Workarea::Storefront::ContentBlockViewModel

#asset_alt_text, #assets, #find_asset, #locals, #partial, #series, wrap

Instance Method Details

#find_taxons_for(start) ⇒ Array<Workarea::Navigation::Taxon>

Return a list of taxons to render in a navigation content block.

Parameters:

  • (Workarea::Navigation::Taxon)

Returns:

  • (Array<Workarea::Navigation::Taxon>)


10
11
12
13
14
15
16
17
18
19
20
# File 'app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb', line 10

def find_taxons_for(start)
  return [] if start.blank?

  if start.has_children?
    start.children.select(&:active?)
  elsif start.active?
    [start]
  else
    []
  end
end

#starting_taxonObject



26
27
28
# File 'app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb', line 26

def starting_taxon
  @starting_taxon ||= Navigation::Taxon.find(data['start'])
end

#taxonsObject



22
23
24
# File 'app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb', line 22

def taxons
  @taxons ||= find_taxons_for(starting_taxon)
end