module LessStruct::Util::String

Public Class Methods

from_class_code(code) click to toggle source
# File lib/less_struct/util/string.rb, line 14
def from_class_code(code)
  to_camel(code.tr('.','/'))
end
to_camel(string) click to toggle source
# File lib/less_struct/util/string.rb, line 26
def to_camel(string)
  string
  .split("/")
  .map(&:capitalize)
  .map{ |segment| segment.split("_").map(&:capitalize).join }
  .join("/")
  .gsub("/", "::")
end
to_class_code(klass) click to toggle source
# File lib/less_struct/util/string.rb, line 10
def to_class_code(klass)
  to_snake(klass.to_s).tr('/','.')
end
to_snake(string) click to toggle source
# File lib/less_struct/util/string.rb, line 18
def to_snake(string)
  string
  .gsub('::', '/')
  .gsub(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2')
  .gsub(/([a-z\d])([A-Z])/,'\1_\2')
  .downcase
end