Sha256: 34d4f5e46ccbab7fdc50a887371dabcfc7905739425374d34e383d97e23f7f68

Contents?: true

Size: 792 Bytes

Versions: 62

Compression:

Stored size: 792 Bytes

Contents

module Workarea
  module Storefront
    module ContentBlocks
      class NavigationViewModel < ContentBlockViewModel
        # Return a list of taxons to render in a navigation content block.
        #
        # @param [Workarea::Navigation::Taxon]
        # @return [Array<Workarea::Navigation::Taxon>]
        #
        def find_taxons_for(start)
          return [] if start.blank?

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

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

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

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-storefront-3.5.27 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.26 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.45 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.25 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.23 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.44 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.22 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.43 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.21 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.42 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.20 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.41 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.19 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.40 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.18 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.39 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.17 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.38 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.5.16 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb
workarea-storefront-3.4.37 app/view_models/workarea/storefront/content_blocks/navigation_view_model.rb