Sha256: ef1c86c4d4f97c559f2d53ded2f11c897a61ba9695b2ca94a38b8d4b614d018f

Contents?: true

Size: 551 Bytes

Versions: 62

Compression:

Stored size: 551 Bytes

Contents

module Workarea
  class FindTaxonomySlug
    def initialize(navigable, taxon = nil)
      @navigable = navigable
      @taxon = taxon || navigable.taxon
    end

    def slug
      return unless @taxon.present?

      taxons = @taxon.ancestors_and_self
      taxons.shift # remove the first, root taxon

      slug =
        taxons
          .map { |t| t.navigable.try(:name) || t.name }
          .compact
          .map { |name| name.delete("'").parameterize }
          .join('-')

      FindUniqueSlug.new(@navigable, slug).slug
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

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