Class: RedQuilt::Slug::Counter

Inherits:
Object
  • Object
show all
Defined in:
lib/red_quilt/slug.rb,
sig/red_quilt.rbs

Overview

Per-document collision counter; later duplicates get -N suffixes.

Instance Method Summary collapse

Constructor Details

#initializeCounter

Returns a new instance of Counter.



26
27
28
# File 'lib/red_quilt/slug.rb', line 26

def initialize
  @seen = Hash.new(0)
end

Instance Method Details

#generate(text) ⇒ String

Parameters:

  • text (String)

Returns:

  • (String)


30
31
32
33
34
35
# File 'lib/red_quilt/slug.rb', line 30

def generate(text)
  base = Slug.slugify(text)
  count = @seen[base]
  @seen[base] += 1
  count.zero? ? base : "#{base}-#{count}"
end