Class: String

Inherits:
Object show all
Defined in:
lib/serverside/core_ext.rb

Overview

String extension methods.

Instance Method Summary collapse

Instance Method Details

#/(o) ⇒ Object

Concatenates a path (do we really need this sugar?)



15
16
17
# File 'lib/serverside/core_ext.rb', line 15

def /(o)
  File.join(self, o.to_s)
end

#underscoreObject

Converts camel-cased phrases to underscored phrases.



20
21
22
23
# File 'lib/serverside/core_ext.rb', line 20

def underscore
  gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').gsub(/([a-z\d])([A-Z])/,'\1_\2').
    tr("-", "_").downcase
end

#uri_escapeObject

Encodes a normal string to a URI string.



4
5
6
7
# File 'lib/serverside/core_ext.rb', line 4

def uri_escape
  gsub(/([^ a-zA-Z0-9_.-]+)/n) {'%'+$1.unpack('H2'*$1.size).
    join('%').upcase}.tr(' ', '+')
end

#uri_unescapeObject

Decodes a URI string to a normal string.



10
11
12
# File 'lib/serverside/core_ext.rb', line 10

def uri_unescape
  tr('+', ' ').gsub(/((?:%[0-9a-fA-F]{2})+)/n){[$1.delete('%')].pack('H*')}
end