Module: Ramaze::CoreExtensions::String

### Home Classes Methods

### In Files

- lib/ramaze/snippets/string/camel_case.rb
- lib/ramaze/snippets/string/color.rb
- lib/ramaze/snippets/string/esc.rb
- lib/ramaze/snippets/string/snake_case.rb
- lib/ramaze/snippets/string/unindent.rb

### Methods

- #camel_case
- #escape
- #snake_case
- #ui
- #ui!
- #unindent
- #unindent!

### Files

- Gemfile
- Rakefile

### Class/Module Index

Quicksearch

- Ramaze
- Ramaze::App
- Ramaze::Bin
- Ramaze::Bin::Create
- Ramaze::Bin::Runner
- Ramaze::Cache
- Ramaze::Cache::LRU
- Ramaze::Cache::LocalMemCache
- Ramaze::Cache::MemCache
- Ramaze::Cache::Redis
- Ramaze::Cache::Sequel
- Ramaze::Controller
- Ramaze::CoreExtensions
- Ramaze::CoreExtensions::Object
- Ramaze::CoreExtensions::String
- Ramaze::Current
- Ramaze::DefaultController
- Ramaze::Files
- Ramaze::Gestalt
- Ramaze::Helper
- Ramaze::Helper::Auth
- Ramaze::Helper::Bench
- Ramaze::Helper::BlueForm
- Ramaze::Helper::BlueForm::Form
- Ramaze::Helper::CSRF
- Ramaze::Helper::Cache
- Ramaze::Helper::Cache::SingletonMethods
- Ramaze::Helper::Email
- Ramaze::Helper::Erector
- Ramaze::Helper::Flash
- Ramaze::Helper::Formatting
- Ramaze::Helper::Gestalt
- Ramaze::Helper::Gravatar
- Ramaze::Helper::Identity
- Ramaze::Helper::Layout
- Ramaze::Helper::Layout::SingletonMethods
- Ramaze::Helper::Link
- Ramaze::Helper::Localize
- Ramaze::Helper::Localize::Dictionary
- Ramaze::Helper::Localize::Parser
- Ramaze::Helper::Markaby
- Ramaze::Helper::Maruku
- Ramaze::Helper::Paginate
- Ramaze::Helper::Paginate::Paginator
- Ramaze::Helper::Paginate::Paginator::ArrayPager
- Ramaze::Helper::Paginate::Paginator::DataMapperPager
- Ramaze::Helper::Remarkably
- Ramaze::Helper::RequestAccessor
- Ramaze::Helper::SendFile
- Ramaze::Helper::SimpleCaptcha
- Ramaze::Helper::Stack
- Ramaze::Helper::Thread
- Ramaze::Helper::Upload
- Ramaze::Helper::Upload::ClassMethods
- Ramaze::Helper::Upload::UploadedFile
- Ramaze::Helper::UserHelper
- Ramaze::Helper::UserHelper::Wrapper
- Ramaze::Helper::XHTML
- Ramaze::LRUHash
- Ramaze::Logger
- Ramaze::Logger::Informer
- Ramaze::Logger::LogHub
- Ramaze::Logger::Logger
- Ramaze::Logger::RotatingInformer
- Ramaze::Logger::Syslog
- Ramaze::Logging
- Ramaze::Reloader
- Ramaze::Reloader::Hooks
- Ramaze::Reloader::WatchInotify
- Ramaze::Reloader::WatchStat
- Ramaze::Request
- Ramaze::Response
- Ramaze::SpecLogger
- Ramaze::View
- Ramaze::View::Erector
- Ramaze::View::Erubis
- Ramaze::View::Ezamar
- Ramaze::View::Gestalt
- Ramaze::View::Haml
- Ramaze::View::Liquid
- Ramaze::View::Liquid::Tag
- Ramaze::View::Lokar
- Ramaze::View::Mustache
- Ramaze::View::Mustache::RamazeContext
- Ramaze::View::Nagoro
- Ramaze::View::Remarkably
- Ramaze::View::Sass
- Ramaze::View::Slippers
- Ramaze::View::Tagz
- Ramaze::View::Tagz::Methods
- Ramaze::View::Tenjin
- Innate
- Innate::View
- Innate::View::Slim
- Nagoro
- Nagoro::Pipe
- Nagoro::Pipe::RenderPartial
- Bacon
- Bacon::PrettyOutput
- Erector
- Erector::Widget
- Rack
- Rack::RouteExceptions
- Tenjin
- Tenjin::Template
- BlankSlate
- Controller
- MainController
- Object

No matching classes.

# Ramaze::CoreExtensions::String

Extensions for String

Extensions for String

Extensions for String

Extensions for String

Extensions for String

### Public Instance Methods

camel_case() click to toggle source

Simple transformation to CamelCase from snake_case

@example

    'foo_bar'.camel_case # => 'FooBar'

    # File lib/ramaze/snippets/string/camel_case.rb, line 14
    def camel_case
      split('_').map{|e| e.capitalize}.join
    end

escape(which = :html) click to toggle source

String#escape is an extensible escaping mechanism for string. currently it suports

    '<div>foo bar</div>'.esc(:html)
    'foo bar'.esc(:uri)
    'foo bar'.esc(:cgi)

    # File lib/ramaze/snippets/string/esc.rb, line 13
    def escape which = :html
      case which
      when :html
        Rack::Utils.escape_html(self)
      when :cgi
        Rack::Utils.escape(self)
      when :uri
        ::URI.escape(self)
      else
        raise ArgumentError, "do not know how to escape '#{ which }'"
      end
    end

snake_case() click to toggle source

convert to snake_case from CamelCase

@example

    'FooBar'.snake_case # => 'foo_bar'

    # File lib/ramaze/snippets/string/snake_case.rb, line 13
    def snake_case
      gsub(/\B[A-Z][^A-Z]/, '_\&').downcase.gsub(' ', '_')
    end

ui() click to toggle source
Alias for: unindent
ui!() click to toggle source
Alias for: unindent!
unindent() click to toggle source

Useful for writing indented String and unindent on demand, based on the first line with indentation.

    # File lib/ramaze/snippets/string/unindent.rb, line 7
    def unindent
      find_indent = proc{ |l| l.find{|l| !l.strip.empty?}.to_s[/^(\s+)/, 1] }

      lines = self.split("\n")
      space = find_indent[lines]
      space = find_indent[lines.reverse] unless space

      strip.gsub(/^#{space}/, '')
    end

Also aliased as: ui
unindent!() click to toggle source

Destructive variant of undindent, replacing the String

    # File lib/ramaze/snippets/string/unindent.rb, line 19
    def unindent!
      self.replace unindent
    end

Also aliased as: ui!

[Validate]

Generated with the Darkfish Rdoc Generator 2.