Module: Workarea::Storefront::TaxonLookup
- Included in:
- ContentBlocks::TaxonomyViewModel
- Defined in:
- app/view_models/workarea/storefront/taxon_lookup.rb
Instance Method Summary collapse
-
#find_taxons_for(start) ⇒ Array<Workarea::Navigation::Taxon>
Return a list of taxons to render in a navigation content block.
- #show_starting_taxon? ⇒ Boolean
- #starting_taxon ⇒ Object
- #taxons ⇒ Object
Instance Method Details
#find_taxons_for(start) ⇒ Array<Workarea::Navigation::Taxon>
Return a list of taxons to render in a navigation content block.
9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/view_models/workarea/storefront/taxon_lookup.rb', line 9 def find_taxons_for(start) return [] if start.blank? if start.has_children? start.children.select(&:active?) elsif start.active? && !show_starting_taxon? [start] else [] end end |
#show_starting_taxon? ⇒ Boolean
32 33 34 |
# File 'app/view_models/workarea/storefront/taxon_lookup.rb', line 32 def show_starting_taxon? data['show_starting_taxon'] && starting_taxon.present? end |
#starting_taxon ⇒ Object
26 27 28 29 30 |
# File 'app/view_models/workarea/storefront/taxon_lookup.rb', line 26 def starting_taxon @starting_taxon ||= Navigation::Taxon.find(data['start']) rescue Mongoid::Errors::DocumentNotFound nil end |
#taxons ⇒ Object
21 22 23 24 |
# File 'app/view_models/workarea/storefront/taxon_lookup.rb', line 21 def taxons return [] unless starting_taxon.present? @taxons ||= find_taxons_for(starting_taxon) end |