1 require 'stringex'
2
3 class String
4 def symbolize
5 self.gsub(/[^A-Za-z0-9]+/, "_").gsub(/(^_+|_+$)/, "").underscore.to_sym
6 end
7
8 def titlecase
9 self.gsub(/((?:^|\s)[a-z])/) { $1.upcase }
10 end
11
12 def to_name(last_part = '')
13 self.underscore.gsub('/', ' ').humanize.titlecase.gsub(/\s*#{last_part}$/, '')
14 end
15
16 unless methods.include?('parameterize')
17 def parameterize(sep = '-')
18 remove_formatting.downcase.replace_whitespace(sep).collapse(sep)
19 end
20 end
21
22 alias :to_slug :parameterize
23 alias :slugify :parameterize
24 alias :slugerize :parameterize
25 en