namecase 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. data/README +39 -0
  2. data/doc/CVS/Entries +8 -0
  3. data/doc/CVS/Repository +1 -0
  4. data/doc/CVS/Root +1 -0
  5. data/doc/classes/CVS/Entries +6 -0
  6. data/doc/classes/CVS/Repository +1 -0
  7. data/doc/classes/CVS/Root +1 -0
  8. data/doc/classes/NameCase.html +158 -0
  9. data/doc/classes/NameCase.src/CVS/Entries +3 -0
  10. data/doc/classes/NameCase.src/CVS/Repository +1 -0
  11. data/doc/classes/NameCase.src/CVS/Root +1 -0
  12. data/doc/classes/NameCase.src/M000001.html +59 -0
  13. data/doc/classes/NameCase.src/M000002.html +18 -0
  14. data/doc/classes/String.html +159 -0
  15. data/doc/classes/String.src/CVS/Entries +3 -0
  16. data/doc/classes/String.src/CVS/Repository +1 -0
  17. data/doc/classes/String.src/CVS/Root +1 -0
  18. data/doc/classes/String.src/M000004.html +59 -0
  19. data/doc/classes/String.src/M000005.html +18 -0
  20. data/doc/classes/TestNameCase.html +167 -0
  21. data/doc/classes/TestNameCase.src/CVS/Entries +6 -0
  22. data/doc/classes/TestNameCase.src/CVS/Repository +1 -0
  23. data/doc/classes/TestNameCase.src/CVS/Root +1 -0
  24. data/doc/classes/TestNameCase.src/M000001.html +38 -0
  25. data/doc/classes/TestNameCase.src/M000002.html +20 -0
  26. data/doc/classes/TestNameCase.src/M000003.html +38 -0
  27. data/doc/classes/TestNameCase.src/M000004.html +21 -0
  28. data/doc/classes/TestNameCase.src/M000005.html +21 -0
  29. data/doc/created.rid +1 -0
  30. data/doc/files/CVS/Entries +3 -0
  31. data/doc/files/CVS/Repository +1 -0
  32. data/doc/files/CVS/Root +1 -0
  33. data/doc/files/README.html +162 -0
  34. data/doc/files/lib/CVS/Entries +2 -0
  35. data/doc/files/lib/CVS/Repository +1 -0
  36. data/doc/files/lib/CVS/Root +1 -0
  37. data/doc/files/lib/namecase_rb.html +101 -0
  38. data/doc/files/test/CVS/Entries +2 -0
  39. data/doc/files/test/CVS/Repository +1 -0
  40. data/doc/files/test/CVS/Root +1 -0
  41. data/doc/files/test/test_namecase_rb.html +109 -0
  42. data/doc/fr_class_index.html +28 -0
  43. data/doc/fr_file_index.html +28 -0
  44. data/doc/fr_method_index.html +31 -0
  45. data/doc/index.html +24 -0
  46. data/doc/rdoc-style.css +208 -0
  47. data/lib/CVS/Entries +2 -0
  48. data/lib/CVS/Repository +1 -0
  49. data/lib/CVS/Root +1 -0
  50. data/lib/namecase.rb +53 -0
  51. data/test/CVS/Entries +2 -0
  52. data/test/CVS/Repository +1 -0
  53. data/test/CVS/Root +1 -0
  54. data/test/test_namecase.rb +44 -0
  55. metadata +110 -0
data/README ADDED
@@ -0,0 +1,39 @@
1
+ == NameCase
2
+
3
+ Version 1.0.0 - 2005/11/2
4
+
5
+ Original version by Mark Summerfield <http://search.cpan.org/~summer/>
6
+ Ruby port by Aaron Patterson <aaronp@rubyforge.org>
7
+
8
+ NameCase is a Ruby implementation of Lingua::EN::NameCase, a library for
9
+ converting strings to be properly cased. This is good for converting
10
+ denormalized data to human friendly data.
11
+
12
+ * Example Usage
13
+
14
+ NameCase is a subclass of Ruby's +String+, and can be used similarly:
15
+
16
+ string = NameCase.new( string )
17
+ puts string.nc
18
+ puts string.nc!
19
+
20
+ * Acknowledgements
21
+
22
+ This library is a port of the Perl library, and owes most of its functionality
23
+ to the Perl version by Mark Summerfield. Any bugs in the Ruby port are my
24
+ fault.
25
+
26
+ * Author
27
+
28
+ Original Version:
29
+ Copyright (c) Mark Summerfield 1998-2002.
30
+ <summer@perlpress.com>
31
+ All Rights Reserved
32
+
33
+ Ruby Version:
34
+ Copyright (c) Aaron Patterson 2005
35
+
36
+ * License
37
+
38
+ NameCase is distributed under the GPL license. Please see the LICENSE file.
39
+
@@ -0,0 +1,8 @@
1
+ D/classes////
2
+ D/files////
3
+ /rdoc-style.css/1.1.1.1/Mon Nov 7 23:59:23 2005//
4
+ /created.rid/1.2/Mon Nov 7 23:59:22 2005//
5
+ /fr_class_index.html/1.2/Mon Nov 7 23:59:23 2005//
6
+ /fr_file_index.html/1.2/Mon Nov 7 23:59:23 2005//
7
+ /fr_method_index.html/1.2/Mon Nov 7 23:59:23 2005//
8
+ /index.html/1.2/Mon Nov 7 23:59:23 2005//
@@ -0,0 +1 @@
1
+ namecase/doc
@@ -0,0 +1 @@
1
+ :ext:aaronp@rubyforge.org:/var/cvs/namecase
@@ -0,0 +1,6 @@
1
+ /String.html/1.1.1.1/Mon Nov 7 23:24:11 2005//
2
+ D/NameCase.src////
3
+ D/String.src////
4
+ D/TestNameCase.src////
5
+ /NameCase.html/1.1.1.1/Mon Nov 7 23:59:23 2005//
6
+ /TestNameCase.html/1.1.1.1/Mon Nov 7 23:59:23 2005//
@@ -0,0 +1 @@
1
+ namecase/doc/classes
@@ -0,0 +1 @@
1
+ :ext:aaronp@rubyforge.org:/var/cvs/namecase
@@ -0,0 +1,158 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: NameCase</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">NameCase</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/namecase_rb.html">
59
+ lib/namecase.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ String
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000001">nc</a>&nbsp;&nbsp;
90
+ <a href="#M000002">nc!</a>&nbsp;&nbsp;
91
+ </div>
92
+ </div>
93
+
94
+ </div>
95
+
96
+
97
+ <!-- if includes -->
98
+
99
+ <div id="section">
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+ <!-- if method_list -->
109
+ <div id="methods">
110
+ <h3 class="section-bar">Public Instance methods</h3>
111
+
112
+ <div id="method-M000001" class="method-detail">
113
+ <a name="M000001"></a>
114
+
115
+ <div class="method-heading">
116
+ <a href="NameCase.src/M000001.html" target="Code" class="method-signature"
117
+ onclick="popupCode('NameCase.src/M000001.html');return false;">
118
+ <span class="method-name">nc</span><span class="method-args">()</span>
119
+ </a>
120
+ </div>
121
+
122
+ <div class="method-description">
123
+ <p>
124
+ Returns a new <tt>String</tt> with the contents properly namecased
125
+ </p>
126
+ </div>
127
+ </div>
128
+
129
+ <div id="method-M000002" class="method-detail">
130
+ <a name="M000002"></a>
131
+
132
+ <div class="method-heading">
133
+ <a href="NameCase.src/M000002.html" target="Code" class="method-signature"
134
+ onclick="popupCode('NameCase.src/M000002.html');return false;">
135
+ <span class="method-name">nc!</span><span class="method-args">()</span>
136
+ </a>
137
+ </div>
138
+
139
+ <div class="method-description">
140
+ <p>
141
+ Modifies <em>str</em> in place and properly namecases the string.
142
+ </p>
143
+ </div>
144
+ </div>
145
+
146
+
147
+ </div>
148
+
149
+
150
+ </div>
151
+
152
+
153
+ <div id="validator-badges">
154
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
155
+ </div>
156
+
157
+ </body>
158
+ </html>
@@ -0,0 +1,3 @@
1
+ /M000001.html/1.1.1.1/Mon Nov 7 23:59:23 2005//
2
+ /M000002.html/1.1.1.1/Mon Nov 7 23:59:23 2005//
3
+ D
@@ -0,0 +1 @@
1
+ namecase/doc/classes/NameCase.src
@@ -0,0 +1 @@
1
+ :ext:aaronp@rubyforge.org:/var/cvs/namecase
@@ -0,0 +1,59 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>nc (NameCase)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/namecase.rb, line 4</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nc</span>
15
+ <span class="ruby-identifier">localstring</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">downcase</span>
16
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\b\w/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">first</span><span class="ruby-operator">|</span> <span class="ruby-identifier">first</span>.<span class="ruby-identifier">upcase</span> }
17
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-value str">&quot;\'\w\b&quot;</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">downcase</span> } <span class="ruby-comment cmt"># Lowercase 's</span>
18
+
19
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">localstring</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\bMac[A-Za-z]{2,}[^aciozj]\b/</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">localstring</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\bMc/</span>
20
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\b(Ma?c)([A-Za-z]+)/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span> <span class="ruby-identifier">$1</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">capitalize</span> }
21
+
22
+ <span class="ruby-comment cmt"># Now fix &quot;Mac&quot; exceptions</span>
23
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bMacEvicius/</span>, <span class="ruby-value str">'Macevicius'</span>)
24
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bMacHado/</span>, <span class="ruby-value str">'Machado'</span>)
25
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bMacHar/</span>, <span class="ruby-value str">'Machar'</span>)
26
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bMacHin/</span>, <span class="ruby-value str">'Machin'</span>)
27
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bMacHlin/</span>, <span class="ruby-value str">'Machlin'</span>)
28
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bMacIas/</span>, <span class="ruby-value str">'Macias'</span>)
29
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bMacIulis/</span>, <span class="ruby-value str">'Maciulis'</span>)
30
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bMacKie/</span>, <span class="ruby-value str">'Mackie'</span>)
31
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bMacKle/</span>, <span class="ruby-value str">'Mackle'</span>)
32
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bMacKlin/</span>, <span class="ruby-value str">'Macklin'</span>)
33
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bMacQuarie/</span>, <span class="ruby-value str">'Macquarie'</span>)
34
+ <span class="ruby-keyword kw">end</span>
35
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-value str">'Macmurdo'</span>,<span class="ruby-value str">'MacMurdo'</span>)
36
+
37
+ <span class="ruby-comment cmt"># Fixes for &quot;son (daughter) of&quot; etc</span>
38
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bAl(?=\s+\w)/</span>, <span class="ruby-value str">'al'</span>) <span class="ruby-comment cmt"># al Arabic or forename Al.</span>
39
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bAp\b/</span>, <span class="ruby-value str">'ap'</span>) <span class="ruby-comment cmt"># ap Welsh.</span>
40
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bBen(?=\s+\w)/</span>,<span class="ruby-value str">'ben'</span>) <span class="ruby-comment cmt"># ben Hebrew or forename Ben.</span>
41
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bDell([ae])\b/</span>,<span class="ruby-value str">'dell\1'</span>) <span class="ruby-comment cmt"># della and delle Italian.</span>
42
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bD([aeiu])\b/</span>,<span class="ruby-value str">'d\1'</span>) <span class="ruby-comment cmt"># da, de, di Italian; du French.</span>
43
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bDe([lr])\b/</span>,<span class="ruby-value str">'de\1'</span>) <span class="ruby-comment cmt"># del Italian; der Dutch/Flemish.</span>
44
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bEl\b/</span>,<span class="ruby-value str">'el'</span>) <span class="ruby-comment cmt"># el Greek or El Spanish.</span>
45
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bLa\b/</span>,<span class="ruby-value str">'la'</span>) <span class="ruby-comment cmt"># la French or La Spanish.</span>
46
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bL([eo])\b/</span>,<span class="ruby-value str">'l\1'</span>) <span class="ruby-comment cmt"># lo Italian; le French.</span>
47
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bVan(?=\s+\w)/</span>,<span class="ruby-value str">'van'</span>) <span class="ruby-comment cmt"># van German or forename Van.</span>
48
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\bVon\b/</span>,<span class="ruby-value str">'von'</span>) <span class="ruby-comment cmt"># von Dutch/Flemish</span>
49
+
50
+ <span class="ruby-comment cmt"># Fix roman numeral names</span>
51
+ <span class="ruby-identifier">localstring</span>.<span class="ruby-identifier">gsub!</span>(
52
+ <span class="ruby-regexp re">/ \b ( (?: [Xx]{1,3} | [Xx][Ll] | [Ll][Xx]{0,3} )?
53
+ (?: [Ii]{1,3} | [Ii][VvXx] | [Vv][Ii]{0,3} )? ) \b /</span><span class="ruby-identifier">x</span>
54
+ ) { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">upcase</span> }
55
+
56
+ <span class="ruby-identifier">localstring</span>
57
+ <span class="ruby-keyword kw">end</span></pre>
58
+ </body>
59
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>nc! (NameCase)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/namecase.rb, line 50</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nc!</span>
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">nc</span>)
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,159 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: String</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">String</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/namecase_rb.html">
59
+ lib/namecase.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000004">nc</a>&nbsp;&nbsp;
90
+ <a href="#M000005">nc!</a>&nbsp;&nbsp;
91
+ </div>
92
+ </div>
93
+
94
+ </div>
95
+
96
+
97
+ <!-- if includes -->
98
+
99
+ <div id="section">
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+ <!-- if method_list -->
109
+ <div id="methods">
110
+ <h3 class="section-bar">Public Instance methods</h3>
111
+
112
+ <div id="method-M000004" class="method-detail">
113
+ <a name="M000004"></a>
114
+
115
+ <div class="method-heading">
116
+ <a href="String.src/M000004.html" target="Code" class="method-signature"
117
+ onclick="popupCode('String.src/M000004.html');return false;">
118
+ <span class="method-name">nc</span><span class="method-args">()</span>
119
+ </a>
120
+ </div>
121
+
122
+ <div class="method-description">
123
+ <p>
124
+ Returns a new <tt><a href="String.html">String</a></tt> with the contents
125
+ properly namecased
126
+ </p>
127
+ </div>
128
+ </div>
129
+
130
+ <div id="method-M000005" class="method-detail">
131
+ <a name="M000005"></a>
132
+
133
+ <div class="method-heading">
134
+ <a href="String.src/M000005.html" target="Code" class="method-signature"
135
+ onclick="popupCode('String.src/M000005.html');return false;">
136
+ <span class="method-name">nc!</span><span class="method-args">()</span>
137
+ </a>
138
+ </div>
139
+
140
+ <div class="method-description">
141
+ <p>
142
+ Modifies <em>str</em> in place and properly namecases the string.
143
+ </p>
144
+ </div>
145
+ </div>
146
+
147
+
148
+ </div>
149
+
150
+
151
+ </div>
152
+
153
+
154
+ <div id="validator-badges">
155
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
156
+ </div>
157
+
158
+ </body>
159
+ </html>