Aby zamieniać CamelCase (np. ToJestCamel) na odpowiednik z podkreślnikami (to_jest_camel), w języku Ruby najprościej dopisać sobie małe rozszerzenie do klasy String:
class String
def underlinize
self.split(/(?=[A-Z])/).join('_').downcase
end
end
Dzięku temu możemy wywoływać sobie naszą metodę w ten sposób:
txt = 'NaszCamelCase' puts txt.underlinize # wynik: nasz_camel_case