Module: Coradoc::CoreModel::IdGenerator

Defined in:
lib/coradoc/core_model/id_generator.rb

Class Method Summary collapse

Class Method Details

.generate_from_title(title, parent_id: nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/coradoc/core_model/id_generator.rb', line 6

def self.generate_from_title(title, parent_id: nil)
  return nil if title.nil? || title.to_s.strip.empty?

  suffix = title.to_s.downcase
                .gsub(/[^a-z0-9\s]/, '')
                .gsub(/\s+/, '_')
                .gsub(/^_+|_+$/, '')

  return "_#{suffix}" if parent_id.nil? || parent_id.to_s.strip.empty?

  "#{parent_id}_#{suffix}"
end