File: lib/plugins/string_extensions/lib/string_extensions.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: <Built-in Module>
  class: String#3
inherits from
  Object ( Builtin-Module )
has properties
method: symbolize #4
method: titlecase #8
method: to_name / 1 #12
method: parameterize / 1 #17
alias: to_slug parameterize #22
alias: slugify parameterize #23
alias: slugerize parameterize #24

Class Hierarchy

Object ( Builtin-Module )
  String    #3

Code

   1  require 'stringex'
   2 
   3  class String
   4    def symbolize
   5      self.gsub(/[^A-Za-z0-9]+/, "_").gsub(/(^_+|_+$)/, "").underscore.to_sym
   6    end
   7    
   8    def titlecase
   9      self.gsub(/((?:^|\s)[a-z])/) { $1.upcase }
  10    end
  11    
  12    def to_name(last_part = '')
  13      self.underscore.gsub('/', ' ').humanize.titlecase.gsub(/\s*#{last_part}$/, '')
  14    end
  15 
  16    unless methods.include?('parameterize')
  17      def parameterize(sep = '-')
  18        remove_formatting.downcase.replace_whitespace(sep).collapse(sep)
  19      end
  20    end
  21    
  22    alias :to_slug   :parameterize
  23    alias :slugify   :parameterize
  24    alias :slugerize :parameterize
  25  en