module 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
#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
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