module Voom::Symbol::ToStr

Helper module for converting symbol naming to string. It provides common conversions for variable naming (snake_case) and class naming (class_name)

Public Instance Methods

class_name(classname) click to toggle source

Converts a namespaced symbol or string to a proper class name with modules

# File lib/voom/symbol/to_str.rb, line 19
def class_name(classname)
  classname = sym_to_str(classname)
  classname.split('.').map { |m| inflector.camelize(m) }.join('::')
end
snake_case(str) click to toggle source

Converts a namespaced string or symbol to snake_case

# File lib/voom/symbol/to_str.rb, line 14
def snake_case(str)
  inflector.underscore(sym_to_str(str).tr('.', '_'))
end
sym_to_str(name) click to toggle source

Maps symbols to strings

# File lib/voom/symbol/to_str.rb, line 8
def sym_to_str(name)
  return name if name.is_a? ::String
  name.to_s
end

Private Instance Methods

inflector() click to toggle source
# File lib/voom/symbol/to_str.rb, line 25
def inflector
  @_inflector_ ||= Dry::Inflector.new
end