module Ramverk::String
Conveniences for inflecting and working with string manipulation.
Public Instance Methods
classify(string)
click to toggle source
Return a CamelCase version of the string.
@param string [String]
String to be transformed.
@return [String]
The transformed string
@example
string = "ramverk_string" Ramverk::String.classify(string) # => 'RamverkString'
# File lib/ramverk/string.rb, line 40 def classify(string) words = underscore(string).split(%r{_|::|\/|\-}).map!(&:capitalize) delimiters = underscore(string).scan(%r{_|::|\/|\-}) delimiters.map! { |delimiter| delimiter == "_" ? "" : "::" } words.zip(delimiters).join end
underscore(string)
click to toggle source
Return a downcased and underscore separated version of the string.
@param string [String]
String to be transformed.
@return [String]
The transformed string.
@example
string = "RamverkString" Ramverk::String.underscore(string) # => 'ramverk_string'
# File lib/ramverk/string.rb, line 19 def underscore(string) string = +string.to_s string.gsub!("::", "/") string.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2') string.gsub!(/([a-z\d])([A-Z])/, '\1_\2') string.gsub!(/[[:space:]]|\-/, '\1_\2') string.downcase! string end