1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
class Mustache
module Utils
class String
def initialize string
@string = string
end
def classify
@string.split('/').map do |namespace|
namespace.split(/[-_]/).map do |part|
part[0] = part.chars.first.upcase
part
end.join
end.join('::')
end
def underscore(view_namespace)
@string
.dup
.split("#{view_namespace}::")
.last
.split('::')
.map do |part|
part[0] = part[0].downcase
part.gsub(/[A-Z]/) { |s| "_" << s.downcase }
end
.join('/')
end
end
end
end
|