class Mustache::Utils::String

Public Class Methods

new(string) click to toggle source
# File lib/mustache/utils.rb, line 4
def initialize string
  @string = string
end

Public Instance Methods

classify() click to toggle source
# File lib/mustache/utils.rb, line 8
def classify
  @string.split('/').map do |namespace|
    namespace.split(/[-_]/).map do |part|
      part[0] = part.chars.first.upcase
      part
    end.join
  end.join('::')
end
underscore(view_namespace) click to toggle source
# File lib/mustache/utils.rb, line 17
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