Class: Cielli::Slug
- Inherits:
-
String
- Object
- String
- Cielli::Slug
- Defined in:
- lib/cielli/slug.rb
Constant Summary collapse
- Join =
'-'
Class Method Summary collapse
Class Method Details
.for(*args) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/cielli/slug.rb', line 5 def Slug.for(*args) = args.last.is_a?(Hash) ? args.pop : {} join = ([:join] || ['join'] || Join).to_s string = args.flatten.compact.join(' ') tokens = string.scan(%r`[^\s#{ join }]+`) tokens.map! do |token| token.gsub(%r`[^\p{L}/.]`, '').downcase end tokens.map! do |token| token.gsub(%r`[/.]`, join * 2) end tokens.join(join) end |