Class: String

### Home Classes Methods

### In Files

- lib/padrino-support/core_ext/string/colorize.rb
- lib/padrino-support/core_ext/string/inflections.rb
- lib/padrino-support/core_ext/string/undent.rb

### Parent

Object

### Namespace

- CLASS String::Colorizer

### Methods

- #camelcase
- #camelize
- #classify
- #colorize
- #constantize
- #pluralize
- #singularize
- #undent
- #underscore

### Class/Module Index

Quicksearch

- String
- String::Colorizer
- FileSet
- Module
- Object
- ObjectSpace

No matching classes.

# String

Add colors

This is an adapted version of active_support/core_ext/string/inflections.rb to prevent loading several dependencies including I18n gem.

Issue: github.com/rails/rails/issues/1526

Removes indentation

@example

    help <<-EOS.undent
      Here my help usage
       sample_code

      Fix
    EOS
    puts help.red.bold

### Public Instance Methods

camelcase(first_letter = :upper) click to toggle source
Alias for: camelize
camelize(first_letter = :upper) click to toggle source

By default, `camelize` converts strings to UpperCamelCase. If the argument to camelize is set to `:lower` then camelize produces lowerCamelCase.

`camelize` will also convert '/' to '::' which is useful for converting paths to namespaces.

    "active_record".camelize                # => "ActiveRecord"
    "active_record".camelize(:lower)        # => "activeRecord"
    "active_record/errors".camelize         # => "ActiveRecord::Errors"
    "active_record/errors".camelize(:lower) # => "activeRecord::Errors"

    # File lib/padrino-support/core_ext/string/inflections.rb, line 75
    def camelize(first_letter = :upper)
      case first_letter
        when :upper then ActiveSupport::Inflector.camelize(self, true)
        when :lower then ActiveSupport::Inflector.camelize(self, false)
      end
    end

Also aliased as: camelcase
classify() click to toggle source

Create a class name from a plural table name like Rails does for table names to models. Note that this returns a string and not a class. (To convert to an actual class follow `classify` with `constantize`.)

    "egg_and_hams".classify # => "EggAndHam"
    "posts".classify        # => "Post"

Singular names are not handled correctly.

    "business".classify # => "Busines"

    # File lib/padrino-support/core_ext/string/inflections.rb, line 95
    def classify
      ActiveSupport::Inflector.classify(self)
    end

colorize(args) click to toggle source

colorize(:red)

    # File lib/padrino-support/core_ext/string/colorize.rb, line 17
    def colorize(args)
      case args
      when Symbol
        Colorizer.send(args, self)
      when Hash
        Colorizer.send(args[:color], self, args[:mode])
      end
    end

constantize() click to toggle source

`constantize` tries to find a declared constant with the name specified in the string. It raises a NameError when the name is not in CamelCase or is not initialized.

    "Module".constantize # => Module
    "Class".constantize  # => Class

    # File lib/padrino-support/core_ext/string/inflections.rb, line 48
    def constantize
      ActiveSupport::Inflector.constantize(self)
    end

pluralize() click to toggle source

Returns the plural form of the word in the string.

    "post".pluralize             # => "posts"
    "octopus".pluralize          # => "octopi"
    "sheep".pluralize            # => "sheep"
    "words".pluralize            # => "words"
    "the blue mailman".pluralize # => "the blue mailmen"
    "CamelOctopus".pluralize     # => "CamelOctopi"

    # File lib/padrino-support/core_ext/string/inflections.rb, line 22
    def pluralize
      ActiveSupport::Inflector.pluralize(self)
    end

singularize() click to toggle source

Returns the singular form of the word in the string.

    "posts".singularize            # => "post"
    "octopi".singularize           # => "octopus"
    "sheep".singularize            # => "sheep"
    "words".singularize            # => "word"
    "the blue mailmen".singularize # => "the blue mailman"
    "CamelOctopi".singularize      # => "CamelOctopus"

    # File lib/padrino-support/core_ext/string/inflections.rb, line 36
    def singularize
      ActiveSupport::Inflector.singularize(self)
    end

undent() click to toggle source

Strip unnecessary indentation of the front of a string

    # File lib/padrino-support/core_ext/string/undent.rb, line 15
    def undent
      warn "##{__method__} is deprecated"
      gsub(/^.{#{slice(/^ +/).size}}/, '')
    end

underscore() click to toggle source

The reverse of `camelize`. Makes an underscored, lowercase form from the expression in the string.

`underscore` will also change '::' to '/' to convert namespaces to paths.

    "ActiveRecord".underscore         # => "active_record"
    "ActiveRecord::Errors".underscore # => active_record/errors

    # File lib/padrino-support/core_ext/string/inflections.rb, line 60
    def underscore
      ActiveSupport::Inflector.underscore(self)
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.