class StringExtra

Avoid the monkey patching of String for underscore/titleize/humanize

Public Class Methods

new(str = 'no_name') click to toggle source
# File lib/ruby-processing/helpers/string_extra.rb, line 7
def initialize(str = 'no_name')
  @string = (str.length > 60) ? 'long_name' : str
end

Public Instance Methods

humanize() click to toggle source
# File lib/ruby-processing/helpers/string_extra.rb, line 22
def humanize
  gsub(/_id$/, '').gsub(/_/, ' ').capitalize
end
titleize() click to toggle source
# File lib/ruby-processing/helpers/string_extra.rb, line 11
def titleize
  gsub(/::/, '/')
    .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
    .gsub(/([a-z\d])([A-Z])/, '\1_\2')
    .tr('-', '_')
    .downcase
    .gsub(/_id$/, '')
    .gsub(/_/, ' ').capitalize
    .gsub(/\b([a-z])/) { Regexp.last_match[1].capitalize }
end
underscore() click to toggle source
# File lib/ruby-processing/helpers/string_extra.rb, line 26
def underscore
  gsub(/::/, '/')
    .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
    .gsub(/([a-z\d])([A-Z])/, '\1_\2')
    .tr('-', '_')
    .downcase
end