Module: Ace::Demo::Atoms::DemoNameSanitizer

Defined in:
lib/ace/demo/atoms/demo_name_sanitizer.rb

Constant Summary collapse

MAX_LENGTH =
55

Class Method Summary collapse

Class Method Details

.sanitize(name) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/ace/demo/atoms/demo_name_sanitizer.rb', line 11

def sanitize(name)
  slug = name.to_s.downcase
    .gsub(/[^a-z0-9-]/, "-").squeeze("-")
    .gsub(/\A-+|-+\z/, "")
  slug = slug[0, MAX_LENGTH].sub(/-+\z/, "") if slug.length > MAX_LENGTH
  slug.empty? ? "demo" : slug
end