Sha256: 701c086ba06cb92f524c20979fe82e16bdc141b1c4ddd47f4cae0b7529ed8815
Contents?: true
Size: 497 Bytes
Versions: 6
Compression:
Stored size: 497 Bytes
Contents
# encoding: utf-8 # frozen_string_literal: false module Propane # This class defines a single method that converts a method name # from camel or mixed case to snake case. # class Underscorer # Underscorer.("CamelCase") => "camel_case" # def self.call(input) string = input.to_s string.gsub(/::/, '/') .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') .gsub(/([a-z\d])([A-Z])/, '\1_\2') .tr('-', '_') .downcase end end end
Version data entries
6 entries across 6 versions & 1 rubygems