Module: TieredCategoryExpressions::Generator

Defined in:
lib/tiered_category_expressions/generator.rb

Class Method Summary collapse

Class Method Details

.call(category) ⇒ Expression?

Generates a basic TCE that matches the given category. Returns nil if no valid TCE can be generated.

Examples:

TieredCategoryExpressions::Generator.call(["Non-food", "Baby", "Baby formula"])
# => TieredCategoryExpressions::Expression[Nonfood > Baby > Baby formula]

Parameters:

  • category (Array<String>)

Returns:



16
17
18
19
20
21
22
# File 'lib/tiered_category_expressions/generator.rb', line 16

def call(category)
  return if category.empty?

  tiers = category.map { |t| sanitize_name(t) or return nil }

  TieredCategoryExpressions::TCE(tiers.join(" > "))
end