File: databasedotcom/core_extensions/string_extensions.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: <Built-in Module>
  class: String#2
inherits from
  Object ( Builtin-Module )
has properties
method: resourcerize #5
method: constantize #9

Class Hierarchy

Object ( Builtin-Module )
  String    #2

Code

   1  # This extends String to add the +resourcerize+ method.
   2  class String
   3 
   4    # Dasherizes and downcases a camelcased string. Used for Feed types.
   5    def resourcerize
   6      self.gsub(/([a-z])([A-Z])/, '\1-\2').downcase
   7    end
   8 
   9  def constantize
  10      unless /\A(?:::)?([A-Z]\w*(?:::[A-Z]\w*)*)\z/ =~ self
  11        raise NameError, "#{self.inspect} is not a valid constant name!"
  12      end
  13      Object.module_eval("::#{$1}", __FILE__, __LINE__)
  14    end
  15 
  16  end