Class: Braintrust::Vendor::Mustache::Utils::String

Inherits:
Object
  • Object
show all
Defined in:
lib/braintrust/vendor/mustache/utils.rb

Instance Method Summary collapse

Constructor Details

#initialize(string) ⇒ String

Returns a new instance of String.



13
14
15
# File 'lib/braintrust/vendor/mustache/utils.rb', line 13

def initialize(string)
  @string = string
end

Instance Method Details

#classifyObject



17
18
19
20
21
22
23
24
# File 'lib/braintrust/vendor/mustache/utils.rb', line 17

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) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/braintrust/vendor/mustache/utils.rb', line 26

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