Class String
In: lib/serverside/core_ext.rb
Parent: Object

String extensions.

Methods

Constants

LINE_RE = /^([^\r]*)\r\n/n.freeze
EMPTY_STRING = ''.freeze

Public Instance methods

Concatenates a path (purely sugar)

[Source]

    # File lib/serverside/core_ext.rb, line 21
21:   def /(o)
22:     File.join(self, o.to_s)
23:   end

Converts an underscored name into a camelized name

[Source]

    # File lib/serverside/core_ext.rb, line 32
32:   def camelize
33:     gsub(/(^|_)(.)/) {$2.upcase}
34:   end

[Source]

    # File lib/serverside/core_ext.rb, line 59
59:   def etag
60:     MD5.hexdigest(self)
61:   end

[Source]

    # File lib/serverside/core_ext.rb, line 39
39:   def get_line
40:     sub!(LINE_RE, EMPTY_STRING) ? $1 : nil
41:   end

[Source]

    # File lib/serverside/core_ext.rb, line 43
43:   def get_up_to_boundary(boundary)
44:     if i = index(boundary)
45:       part = i > 0 ? self[0..(i - 1)] : ''
46:       slice!(0..(i + boundary.size - 1))
47:       part
48:     end
49:   end

[Source]

    # File lib/serverside/core_ext.rb, line 51
51:   def get_up_to_boundary_with_crlf(boundary)
52:     if i = index(boundary)
53:       part = i > 0 ? self[0..(i - 1)] : ''
54:       slice!(0..(i + boundary.size + 1))
55:       part
56:     end
57:   end

[Source]

    # File lib/serverside/core_ext.rb, line 16
16:   def html_escape
17:     gsub(/&/, "&amp;").gsub(/\"/, "&quot;").gsub(/>/, "&gt;").gsub(/</, "&lt;")
18:   end

Converts camel-cased phrases to underscored phrases.

[Source]

    # File lib/serverside/core_ext.rb, line 26
26:   def underscore
27:     gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').gsub(/([a-z\d])([A-Z])/,'\1_\2').
28:       tr("-", "_").downcase
29:   end

Encodes a normal string to a URI string.

[Source]

   # File lib/serverside/core_ext.rb, line 6
6:   def uri_escape
7:     gsub(/([^ a-zA-Z0-9_.-]+)/n) {'%'+$1.unpack('H2'*$1.size).
8:       join('%').upcase}.tr(' ', '+')
9:   end

Decodes a URI string to a normal string.

[Source]

    # File lib/serverside/core_ext.rb, line 12
12:   def uri_unescape
13:     tr('+', ' ').gsub(/((?:%[0-9a-fA-F]{2})+)/n){[$1.delete('%')].pack('H*')}
14:   end

[Validate]