5
6
7
8
9
10
11
12
13
14
15
|
# File 'lib/asana2flowdock/slug.rb', line 5
def Slug.for(*args)
options = args.last.is_a?(Hash) ? args.pop : {}
join = (options[:join]||options['join']||Join).to_s
string = args.flatten.compact.join(join)
string = unidecode(string)
words = string.to_s.scan(%r|[/\w]+|)
words.map!{|word| word.gsub %r|[_-]|, join}
words.map!{|word| word.gsub %r|[^/0-9a-zA-Z_-]|, ''}
words.delete_if{|word| word.nil? or word.strip.empty?}
new(words.join(join).downcase.gsub('/', (join * 2)))
end
|