locale 2.0.3 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. data/ChangeLog +6 -0
  2. data/Rakefile +82 -80
  3. data/lib/locale/driver/jruby.rb +4 -10
  4. data/lib/locale/driver/win32.rb +25 -6
  5. data/lib/locale/tag/irregular.rb +1 -1
  6. data/lib/locale/version.rb +1 -1
  7. data/test/test_driver_jruby.rb +43 -0
  8. data/test/test_driver_win32.rb +65 -0
  9. data/test/test_tag.rb +181 -120
  10. metadata +4 -76
  11. data/benchmark/benchmark.rb +0 -34
  12. data/benchmark/benchmark_2.0.1.txt +0 -7
  13. data/doc/classes/Locale.html +0 -1244
  14. data/doc/classes/Locale/Driver.html +0 -374
  15. data/doc/classes/Locale/Driver/CGI.html +0 -536
  16. data/doc/classes/Locale/Driver/Env.html +0 -439
  17. data/doc/classes/Locale/Driver/JRuby.html +0 -389
  18. data/doc/classes/Locale/Driver/Posix.html +0 -430
  19. data/doc/classes/Locale/Driver/Win32.html +0 -398
  20. data/doc/classes/Locale/Driver/Win32Table.html +0 -355
  21. data/doc/classes/Locale/Info.html +0 -585
  22. data/doc/classes/Locale/Info/Language.html +0 -763
  23. data/doc/classes/Locale/Info/Region.html +0 -470
  24. data/doc/classes/Locale/Tag.html +0 -433
  25. data/doc/classes/Locale/Tag/Cldr.html +0 -523
  26. data/doc/classes/Locale/Tag/Common.html +0 -624
  27. data/doc/classes/Locale/Tag/Irregular.html +0 -423
  28. data/doc/classes/Locale/Tag/Posix.html +0 -612
  29. data/doc/classes/Locale/Tag/Rfc.html +0 -581
  30. data/doc/classes/Locale/Tag/Simple.html +0 -721
  31. data/doc/classes/Locale/TagList.html +0 -826
  32. data/doc/classes/Locale/Util.html +0 -506
  33. data/doc/classes/Locale/Util/Memoizable.html +0 -355
  34. data/doc/created.rid +0 -1
  35. data/doc/files/ChangeLog.html +0 -537
  36. data/doc/files/README_rdoc.html +0 -565
  37. data/doc/files/lib/locale/driver/cgi_rb.html +0 -341
  38. data/doc/files/lib/locale/driver/env_rb.html +0 -353
  39. data/doc/files/lib/locale/driver/jruby_rb.html +0 -353
  40. data/doc/files/lib/locale/driver/posix_rb.html +0 -341
  41. data/doc/files/lib/locale/driver/win32_rb.html +0 -348
  42. data/doc/files/lib/locale/driver/win32_table_rb.html +0 -341
  43. data/doc/files/lib/locale/info/language_rb.html +0 -352
  44. data/doc/files/lib/locale/info/region_rb.html +0 -352
  45. data/doc/files/lib/locale/info_rb.html +0 -353
  46. data/doc/files/lib/locale/tag/cldr_rb.html +0 -348
  47. data/doc/files/lib/locale/tag/common_rb.html +0 -348
  48. data/doc/files/lib/locale/tag/irregular_rb.html +0 -348
  49. data/doc/files/lib/locale/tag/posix_rb.html +0 -341
  50. data/doc/files/lib/locale/tag/rfc_rb.html +0 -348
  51. data/doc/files/lib/locale/tag/simple_rb.html +0 -348
  52. data/doc/files/lib/locale/tag_rb.html +0 -378
  53. data/doc/files/lib/locale/taglist_rb.html +0 -348
  54. data/doc/files/lib/locale/util/memoizable_rb.html +0 -359
  55. data/doc/files/lib/locale/version_rb.html +0 -341
  56. data/doc/files/lib/locale_rb.html +0 -363
  57. data/doc/fr_class_index.html +0 -22
  58. data/doc/fr_file_index.html +0 -23
  59. data/doc/fr_method_index.html +0 -99
  60. data/doc/index.html +0 -1
  61. data/doc/rdoc-style.css +0 -320
  62. data/lib/locale/util/memoizable.rb.20090328 +0 -96
  63. data/lib/locale/util/memoizable.rb.old +0 -91
  64. data/replace.rb +0 -21
  65. data/test.rb +0 -28
  66. data/test/test.rb +0 -7
  67. data/test/tmp.txt +0 -20
  68. data/test2.rb +0 -14
  69. data/test3.rb +0 -12
@@ -1,423 +0,0 @@
1
- <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>Class: Locale::Tag::Irregular</title><link type="text/css" href="../../.././rdoc-style.css" media="screen" rel="stylesheet"/><script type="text/javascript">
2
- // Allison template
3
- // Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
4
-
5
- var href_base = '../../.././rdoc-style.css'.replace(/(.*\/).*/, '$1'); // inline js is good for something
6
-
7
- function $(id) {
8
- if (document.getElementById)
9
- elem = document.getElementById(id);
10
- else if ( document.all )
11
- elem = eval("document.all." + id);
12
- else
13
- return false;
14
- return elem;
15
- }
16
-
17
- function toggle(id) {
18
- elem = $(id);
19
- elemStyle = elem.style;
20
- if (elemStyle.display == "block") {
21
- elemStyle.display = "none"
22
- } else {
23
- elemStyle.display = "block"
24
- }
25
- return true;
26
- }
27
-
28
- function toggleText(id) {
29
- elem = $(id)
30
- if (m = elem.innerHTML.match(/(Hide)(.*)/)) {
31
- elem.innerHTML = "Show" + m[2];
32
- } else if (m = elem.innerHTML.match(/(Show)(.*)/)) {
33
- elem.innerHTML = "Hide" + m[2];
34
- }
35
- return true;
36
- }
37
-
38
- function span(s, klass) {
39
- return '<span class="' + klass + '">' + s + '</span>';
40
- }
41
-
42
- function highlightSymbols() {
43
- pres = document.getElementsByTagName('pre');
44
- for(var i = 0; i < pres.length; i++) {
45
- pre = pres[i];
46
- spans = pre.getElementsByTagName('span');
47
- for(var k = 0; k < spans.length; k++) {
48
- span = spans[k];
49
- if (span.className.match(/ruby-identifier/)) {
50
- if (span.innerHTML.match(/^:/)) {
51
- span.className += " ruby-symbol";
52
- }
53
- }
54
- }
55
- }
56
- }
57
-
58
- function hasClass(obj) {
59
- var result = false;
60
- if (obj.getAttributeNode("class") != null) {
61
- result = obj.getAttributeNode("class").value;
62
- }
63
- return result;
64
- }
65
-
66
- function stripe() {
67
- var even = true;
68
- var color = "#e4ebed";
69
- var tables = document.getElementsByTagName('table');
70
- if (tables.length == 0) { return; }
71
- for (var h = 0; h < tables.length; h++) {
72
- var trs = tables[h].getElementsByTagName("tr");
73
- for (var i = 0; i < trs.length; i++) {
74
- var tds = trs[i].getElementsByTagName("td");
75
- for (var j = 0; j < tds.length; j++) {
76
- if (hasClass(tds[j]) != "first") {
77
- var mytd = tds[j];
78
- if (even) {
79
- mytd.style.backgroundColor = color;
80
- }
81
- }
82
- }
83
- even = ! even;
84
- }
85
- }
86
- }
87
-
88
- function ajaxGet(url) {
89
- url = (href_base + url).replace('/./', '/')
90
- var req = false;
91
-
92
- if (window.ActiveXObject) {
93
- try {
94
- // stupid hack because IE7 disables local Ajax with the native xmlhttprequest object
95
- // for security purposes. Yet ActiveX still works. Thanks, Microsoft. I hate you. Die.
96
- req = new ActiveXObject("MSXML2.XMLHTTP.3.0");
97
- } catch (e) {
98
- try {
99
- /* IE 6 and maybe 5, don't know, don't care */
100
- req = new ActiveXObject("Msxml2.XMLHTTP");
101
- } catch (e) {
102
- try {
103
- req = new ActiveXObject("Microsoft.XMLHTTP");
104
- } catch (e) {
105
- req = false;
106
- }
107
- }
108
- }
109
- }
110
-
111
- /* real browsers */
112
- if (!req && window.XMLHttpRequest) {
113
- try {
114
- req = new XMLHttpRequest();
115
- } catch (e) {
116
- req = false;
117
- }
118
- }
119
-
120
- if (req) {
121
- req.open('GET', url, false);
122
- req.send(null);
123
- return req.responseText;
124
- } else {
125
- return "Ajax error";
126
- }
127
- }
128
-
129
-
130
- function addEvent(elm, evType, fn, useCapture) {
131
- if (elm.addEventListener) {
132
- elm.addEventListener(evType, fn, useCapture);
133
- return true;
134
- } else if (elm.attachEvent) {
135
- var r = elm.attachEvent('on' + evType, fn);
136
- return r;
137
- } else {
138
- elm['on' + evType] = fn;
139
- }
140
- }
141
-
142
- function insertIndices() {
143
- pages = ["class", "file", "method"]
144
- for (x in pages) {
145
- $(pages[x]).innerHTML += ajaxGet('fr_' + pages[x] + '_index.html').replace(/(href=")/g, '$1' + href_base);
146
- }
147
- /* mouseoverify method links */
148
- links = $('method').getElementsByTagName('a');
149
- for (var x = 0; x < links.length; x++) {
150
- if (m = links[x].innerHTML.match(/(.*)\s\((.*)\)/)) {
151
- links[x].innerHTML = m[1] + '<br>';
152
- links[x].title = m[2];
153
- }
154
- }
155
- /* this is stupid */
156
- $('class').style.display = "block";
157
- $('file').style.display = "block";
158
-
159
- /* has to be here because IE7 does not guarantee the onLoad callback order */
160
- abbreviateIndicesInner(["class", "file"], 25, "a");
161
- /* same, linkTitle() depends on the class link list */
162
- linkTitle();
163
- }
164
-
165
- function abbreviateIndices() {
166
- var ids = ["defined_in", "child_of", "includes", "requires", "method", "methods"];
167
- abbreviateIndicesInner(ids, 25, 'a');
168
- abbreviateIndicesInner(ids, 25, 'span');
169
- }
170
-
171
- function abbreviateIndicesInner(indices, amount, tag) {
172
- for (var x = 0; x < indices.length; x++) {
173
- var the_index = $(indices[x]);
174
- if (the_index) {
175
- links = the_index.getElementsByTagName(tag);
176
- for (var y = 0; y < links.length; y++) {
177
- var link = links[y];
178
- if (link.getElementsByTagName('span').length == 0 && link.getElementsByTagName('a').length == 0) {
179
- // avoid nesting
180
- link.innerHTML = link.innerHTML.replace(/<br>|\n/gi, '');
181
- link.title = link.innerHTML;
182
- link.innerHTML = abbreviate(link.innerHTML, amount) + '<br>';
183
- }
184
- }
185
- }
186
- }
187
- }
188
-
189
- function linkTitle() {
190
-
191
- /* grab the correct title element from the index */
192
- var index_page = ajaxGet('index.html');
193
- title_text = index_page.match(/<title>(.*)<\/title>/m)[1];
194
- document.title = title_text + " - " + document.title;
195
- var p = $('header').getElementsByTagName('p')[0]
196
- if (p.innerHTML.match(/^\s*$/)) {
197
- p.innerHTML = title_text;
198
- } else {
199
- p.innerHTML = title_text + ": " + p.innerHTML;
200
- }
201
-
202
- /* set the link properly */
203
- title_link = index_page.match(/<a\s+href="(.*?)"/)[1];
204
- var element = $('title');
205
- var item_type = "";
206
- var item_name = "";
207
- if (m = element.innerHTML.match(/(Class:|Module:|File:)\s*(.*)/)) {
208
- item_type = m[1];
209
- item_name = m[2];
210
- } else {
211
- item_name = element.innerHTML;
212
- }
213
- element.innerHTML = '<a href="' + href_base + title_link + '">' + item_type + " " + abbreviate(item_name, 45) + '</a>';
214
- element.getElementsByTagName('a')[0].title = item_name
215
-
216
- /* breadcrumb navigation */
217
- items = item_name.split("::");
218
- items_new = item_name.split("::");
219
- file_links = $('class').getElementsByTagName('a');
220
- for (var x = 0; x < items.length - 1; x++ ){
221
- var item = items[x];
222
- link = ("/classes/" + items.slice(0,x).join("/") + "/" + item + ".html").replace('//', '/');
223
- regex = new RegExp(RegExp.escape(link) + '$');
224
- for (var y = 0; y < file_links.length; y++) {
225
- if (file_links[y].href.match(regex)) {
226
- items_new[x] = '<a href="' + href_base + link + '">' + item + '</a>';
227
- break;
228
- }
229
- }
230
- }
231
- $('item_name').innerHTML = item_type + ' ' + items_new.join(" :: ");
232
- }
233
-
234
- function abbreviate(s, size) {
235
- while (s.length > size) {
236
- var old_s = s;
237
- s = s.replace(/\s|\n/mg, '');
238
- s = s.replace(/([A-Z])[a-z]+/m, '$1');
239
- if (!s || old_s == s) {
240
- return "..." + s.substring(s.length - size, s.length);
241
- }
242
- }
243
- return s;
244
- }
245
-
246
- function disableSubmit(event) {
247
- var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
248
- if (keyCode == 13) {
249
- return false;
250
- } else {
251
- return true;
252
- }
253
- }
254
-
255
- function filterList(id, s, event) {
256
-
257
- /* some weak escaping */
258
- s = s.replace(/[^\w\d\.\_\-\/\:\=\[\]\?\!]/g, '');
259
- s = RegExp.escape(s);
260
-
261
- var show_all = false;
262
- if (s.match(/^\s*$/)) {
263
- show_all = true;
264
- }
265
-
266
- links = $(id).getElementsByTagName('a')
267
- regex = new RegExp(s, 'i');
268
-
269
- for (var x = 0; x < links.length; x++) {
270
- var link = links[x];
271
- if (show_all) {
272
- link.style.display = 'inline';
273
- } else {
274
- if (link.innerHTML.match(regex)) {
275
- link.style.display = 'inline';
276
- } else {
277
- link.style.display = 'none';
278
- }
279
- }
280
- }
281
- return true;
282
- }
283
-
284
- RegExp.escape = function(text) {
285
- if (!arguments.callee.sRE) {
286
- var specials = ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'];
287
- arguments.callee.sRE = new RegExp(
288
- '(\\' + specials.join('|\\') + ')', 'g'
289
- );
290
- }
291
- return text.replace(arguments.callee.sRE, '\\$1');
292
- }
293
-
294
- function hacks() {
295
- // show the spacer if necessary,
296
- divs = document.getElementsByTagName('div');
297
- for(var x = 0; x < divs.length; x++) {
298
- if (divs[x].className && divs[x].className.match(/top/)) {
299
- document.getElementById('spacer').style.display = 'block';
300
- }
301
- }
302
- // remove extra colons from tables
303
- tds = document.getElementsByTagName('td');
304
- for(var x = 0; x < tds.length; x++) {
305
- str = tds[x].innerHTML
306
- if (str.charAt(str.length - 1) == ":") {
307
- tds[x].innerHTML = str.slice(0, str.length - 1)
308
- }
309
- }
310
- }
311
-
312
- addEvent(window, 'load', insertIndices, false);
313
- addEvent(window, 'load', abbreviateIndices, false);
314
- addEvent(window, 'load', stripe, false);
315
- addEvent(window, 'load', highlightSymbols, false);
316
- addEvent(window, 'load', hacks, false);
317
- </script></head><body><div id="container"><div class="curve" id="preheader_curve_0"></div><div class="curve" id="preheader_curve_1"></div><div class="curve" id="preheader_curve_2"></div><div class="curve" id="preheader_curve_3"></div><div class="curve" id="preheader_curve_4"></div><div class="curve" id="preheader_curve_5"></div><div id="header"><p>
318
- </p><span><h1 id="title">
319
- Class: Locale::Tag::Irregular
320
- </h1></span></div><div class="clear"></div><div id="left">
321
- <div class="navigation darker top" id="child_of"><h3>Child of</h3><span>
322
-
323
- <a href='Simple.html'>
324
- Simple
325
- </a>
326
- </span></div>
327
-
328
- <div class="navigation darker top" id="defined_in"><h3>Defined in</h3>
329
-
330
- <a href="../../../files/lib/locale/tag/irregular_rb.html">lib/locale/tag/irregular.rb</a>
331
-
332
- </div>
333
-
334
-
335
-
336
- <div class="navigation top" id="methods"><h3>Methods</h3>
337
-
338
-
339
- <a href='#M000050'>
340
- candidates<br/>
341
- </a>
342
-
343
-
344
-
345
-
346
- <a href='#M000049'>
347
- new<br/>
348
- </a>
349
-
350
-
351
- </div>
352
- <div id="spacer"></div><div class="navigation darker index" id="class_wrapper"><div class="list_header"><h3>All classes</h3></div><div class="list_header_link"><a href="#" onclick="toggle('class'); toggleText('class_link'); return false;" id="class_link">Hide...</a></div><div class="clear"></div><div id="class"><form><label for="filter_class">Filter:&nbsp;&nbsp;</label><input type="text" onKeyUp="return filterList('class', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_class"></input></form></div></div><div class="navigation darker index" id="file_wrapper"><div class="list_header"><h3>All files</h3></div><div class="list_header_link"><a href="#" onclick="toggle('file'); toggleText('file_link'); return false;" id="file_link">Hide...</a></div><div class="clear"></div><div id="file"><form><label for="filter_file">Filter:&nbsp;&nbsp;</label><input type="text" onKeyUp="return filterList('file', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_file"></input></form></div></div><div class="navigation darker index" id="method_wrapper"><div class="list_header"><h3>All methods</h3></div><div class="list_header_link"><a href="#" onclick="toggle('method'); toggleText('method_link'); return false;" id="method_link">Show...</a></div><div class="clear"></div><div id="method"><form><label for="filter_method">Filter:&nbsp;&nbsp;</label><input type="text" onKeyUp="return filterList('method', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_method"></input></form></div></div></div><div id="content">
353
- <h1 id="item_name">Class: Locale::Tag::Irregular</h1>
354
-
355
- <div id="description"><p>
356
- Broken tag class.
357
- </p>
358
- </div>
359
-
360
-
361
-
362
-
363
- <p></p>
364
-
365
-
366
-
367
-
368
-
369
-
370
- <h1>Public Class Methods</h1>
371
-
372
-
373
- <a class="small" name="M000049"><br/></a>
374
- <div class="method_block"><h3>
375
- <a href='#M000049'>
376
-
377
-
378
- new
379
-
380
- (tag)
381
-
382
- </a>
383
- </h3>
384
-
385
- <p class="source_link" id="M000049-show-link"><a href="#" onclick="toggle('M000049-source'); toggleText('M000049-link'); return false;" id="M000049-link">Show source...</a></p><div class="source" id="M000049-source"><pre> <span class="ruby-comment cmt"># File lib/locale/tag/irregular.rb, line 20</span>
386
- 20: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">tag</span>)
387
- 21: <span class="ruby-identifier">tag</span> = <span class="ruby-value str">&quot;en&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tag</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">tag</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;&quot;</span>
388
- 22: <span class="ruby-ivar">@language</span> = <span class="ruby-identifier">tag</span>
389
- 23: <span class="ruby-ivar">@tag</span> = <span class="ruby-identifier">tag</span>
390
- 24: <span class="ruby-keyword kw">end</span></pre></div>
391
- </div>
392
-
393
-
394
- <h1>Public Instance Methods</h1>
395
-
396
-
397
- <a class="small" name="M000050"><br/></a>
398
- <div class="method_block"><h3>
399
- <a href='#M000050'>
400
-
401
-
402
- candidates
403
-
404
- ()
405
-
406
- </a>
407
- </h3>
408
- <p>
409
- Returns an Array of tag-<a href="Irregular.html#M000050">candidates</a>
410
- order by priority.
411
- </p>
412
-
413
- <p class="source_link" id="M000050-show-link"><a href="#" onclick="toggle('M000050-source'); toggleText('M000050-link'); return false;" id="M000050-link">Show source...</a></p><div class="source" id="M000050-source"><pre> <span class="ruby-comment cmt"># File lib/locale/tag/irregular.rb, line 27</span>
414
- 27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">candidates</span>
415
- 28: [<span class="ruby-constant">Irregular</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">tag</span>)]
416
- 29: <span class="ruby-keyword kw">end</span></pre></div>
417
- </div>
418
-
419
-
420
-
421
-
422
-
423
- </div><div class="clear" id="footer">Generated on May 9, 2009 / Allison 2 &copy; 2007 <a href="http://cloudbur.st">Cloudburst, LLC</a></div></div></body></html>
@@ -1,612 +0,0 @@
1
- <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>Class: Locale::Tag::Posix</title><link type="text/css" href="../../.././rdoc-style.css" media="screen" rel="stylesheet"/><script type="text/javascript">
2
- // Allison template
3
- // Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
4
-
5
- var href_base = '../../.././rdoc-style.css'.replace(/(.*\/).*/, '$1'); // inline js is good for something
6
-
7
- function $(id) {
8
- if (document.getElementById)
9
- elem = document.getElementById(id);
10
- else if ( document.all )
11
- elem = eval("document.all." + id);
12
- else
13
- return false;
14
- return elem;
15
- }
16
-
17
- function toggle(id) {
18
- elem = $(id);
19
- elemStyle = elem.style;
20
- if (elemStyle.display == "block") {
21
- elemStyle.display = "none"
22
- } else {
23
- elemStyle.display = "block"
24
- }
25
- return true;
26
- }
27
-
28
- function toggleText(id) {
29
- elem = $(id)
30
- if (m = elem.innerHTML.match(/(Hide)(.*)/)) {
31
- elem.innerHTML = "Show" + m[2];
32
- } else if (m = elem.innerHTML.match(/(Show)(.*)/)) {
33
- elem.innerHTML = "Hide" + m[2];
34
- }
35
- return true;
36
- }
37
-
38
- function span(s, klass) {
39
- return '<span class="' + klass + '">' + s + '</span>';
40
- }
41
-
42
- function highlightSymbols() {
43
- pres = document.getElementsByTagName('pre');
44
- for(var i = 0; i < pres.length; i++) {
45
- pre = pres[i];
46
- spans = pre.getElementsByTagName('span');
47
- for(var k = 0; k < spans.length; k++) {
48
- span = spans[k];
49
- if (span.className.match(/ruby-identifier/)) {
50
- if (span.innerHTML.match(/^:/)) {
51
- span.className += " ruby-symbol";
52
- }
53
- }
54
- }
55
- }
56
- }
57
-
58
- function hasClass(obj) {
59
- var result = false;
60
- if (obj.getAttributeNode("class") != null) {
61
- result = obj.getAttributeNode("class").value;
62
- }
63
- return result;
64
- }
65
-
66
- function stripe() {
67
- var even = true;
68
- var color = "#e4ebed";
69
- var tables = document.getElementsByTagName('table');
70
- if (tables.length == 0) { return; }
71
- for (var h = 0; h < tables.length; h++) {
72
- var trs = tables[h].getElementsByTagName("tr");
73
- for (var i = 0; i < trs.length; i++) {
74
- var tds = trs[i].getElementsByTagName("td");
75
- for (var j = 0; j < tds.length; j++) {
76
- if (hasClass(tds[j]) != "first") {
77
- var mytd = tds[j];
78
- if (even) {
79
- mytd.style.backgroundColor = color;
80
- }
81
- }
82
- }
83
- even = ! even;
84
- }
85
- }
86
- }
87
-
88
- function ajaxGet(url) {
89
- url = (href_base + url).replace('/./', '/')
90
- var req = false;
91
-
92
- if (window.ActiveXObject) {
93
- try {
94
- // stupid hack because IE7 disables local Ajax with the native xmlhttprequest object
95
- // for security purposes. Yet ActiveX still works. Thanks, Microsoft. I hate you. Die.
96
- req = new ActiveXObject("MSXML2.XMLHTTP.3.0");
97
- } catch (e) {
98
- try {
99
- /* IE 6 and maybe 5, don't know, don't care */
100
- req = new ActiveXObject("Msxml2.XMLHTTP");
101
- } catch (e) {
102
- try {
103
- req = new ActiveXObject("Microsoft.XMLHTTP");
104
- } catch (e) {
105
- req = false;
106
- }
107
- }
108
- }
109
- }
110
-
111
- /* real browsers */
112
- if (!req && window.XMLHttpRequest) {
113
- try {
114
- req = new XMLHttpRequest();
115
- } catch (e) {
116
- req = false;
117
- }
118
- }
119
-
120
- if (req) {
121
- req.open('GET', url, false);
122
- req.send(null);
123
- return req.responseText;
124
- } else {
125
- return "Ajax error";
126
- }
127
- }
128
-
129
-
130
- function addEvent(elm, evType, fn, useCapture) {
131
- if (elm.addEventListener) {
132
- elm.addEventListener(evType, fn, useCapture);
133
- return true;
134
- } else if (elm.attachEvent) {
135
- var r = elm.attachEvent('on' + evType, fn);
136
- return r;
137
- } else {
138
- elm['on' + evType] = fn;
139
- }
140
- }
141
-
142
- function insertIndices() {
143
- pages = ["class", "file", "method"]
144
- for (x in pages) {
145
- $(pages[x]).innerHTML += ajaxGet('fr_' + pages[x] + '_index.html').replace(/(href=")/g, '$1' + href_base);
146
- }
147
- /* mouseoverify method links */
148
- links = $('method').getElementsByTagName('a');
149
- for (var x = 0; x < links.length; x++) {
150
- if (m = links[x].innerHTML.match(/(.*)\s\((.*)\)/)) {
151
- links[x].innerHTML = m[1] + '<br>';
152
- links[x].title = m[2];
153
- }
154
- }
155
- /* this is stupid */
156
- $('class').style.display = "block";
157
- $('file').style.display = "block";
158
-
159
- /* has to be here because IE7 does not guarantee the onLoad callback order */
160
- abbreviateIndicesInner(["class", "file"], 25, "a");
161
- /* same, linkTitle() depends on the class link list */
162
- linkTitle();
163
- }
164
-
165
- function abbreviateIndices() {
166
- var ids = ["defined_in", "child_of", "includes", "requires", "method", "methods"];
167
- abbreviateIndicesInner(ids, 25, 'a');
168
- abbreviateIndicesInner(ids, 25, 'span');
169
- }
170
-
171
- function abbreviateIndicesInner(indices, amount, tag) {
172
- for (var x = 0; x < indices.length; x++) {
173
- var the_index = $(indices[x]);
174
- if (the_index) {
175
- links = the_index.getElementsByTagName(tag);
176
- for (var y = 0; y < links.length; y++) {
177
- var link = links[y];
178
- if (link.getElementsByTagName('span').length == 0 && link.getElementsByTagName('a').length == 0) {
179
- // avoid nesting
180
- link.innerHTML = link.innerHTML.replace(/<br>|\n/gi, '');
181
- link.title = link.innerHTML;
182
- link.innerHTML = abbreviate(link.innerHTML, amount) + '<br>';
183
- }
184
- }
185
- }
186
- }
187
- }
188
-
189
- function linkTitle() {
190
-
191
- /* grab the correct title element from the index */
192
- var index_page = ajaxGet('index.html');
193
- title_text = index_page.match(/<title>(.*)<\/title>/m)[1];
194
- document.title = title_text + " - " + document.title;
195
- var p = $('header').getElementsByTagName('p')[0]
196
- if (p.innerHTML.match(/^\s*$/)) {
197
- p.innerHTML = title_text;
198
- } else {
199
- p.innerHTML = title_text + ": " + p.innerHTML;
200
- }
201
-
202
- /* set the link properly */
203
- title_link = index_page.match(/<a\s+href="(.*?)"/)[1];
204
- var element = $('title');
205
- var item_type = "";
206
- var item_name = "";
207
- if (m = element.innerHTML.match(/(Class:|Module:|File:)\s*(.*)/)) {
208
- item_type = m[1];
209
- item_name = m[2];
210
- } else {
211
- item_name = element.innerHTML;
212
- }
213
- element.innerHTML = '<a href="' + href_base + title_link + '">' + item_type + " " + abbreviate(item_name, 45) + '</a>';
214
- element.getElementsByTagName('a')[0].title = item_name
215
-
216
- /* breadcrumb navigation */
217
- items = item_name.split("::");
218
- items_new = item_name.split("::");
219
- file_links = $('class').getElementsByTagName('a');
220
- for (var x = 0; x < items.length - 1; x++ ){
221
- var item = items[x];
222
- link = ("/classes/" + items.slice(0,x).join("/") + "/" + item + ".html").replace('//', '/');
223
- regex = new RegExp(RegExp.escape(link) + '$');
224
- for (var y = 0; y < file_links.length; y++) {
225
- if (file_links[y].href.match(regex)) {
226
- items_new[x] = '<a href="' + href_base + link + '">' + item + '</a>';
227
- break;
228
- }
229
- }
230
- }
231
- $('item_name').innerHTML = item_type + ' ' + items_new.join(" :: ");
232
- }
233
-
234
- function abbreviate(s, size) {
235
- while (s.length > size) {
236
- var old_s = s;
237
- s = s.replace(/\s|\n/mg, '');
238
- s = s.replace(/([A-Z])[a-z]+/m, '$1');
239
- if (!s || old_s == s) {
240
- return "..." + s.substring(s.length - size, s.length);
241
- }
242
- }
243
- return s;
244
- }
245
-
246
- function disableSubmit(event) {
247
- var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
248
- if (keyCode == 13) {
249
- return false;
250
- } else {
251
- return true;
252
- }
253
- }
254
-
255
- function filterList(id, s, event) {
256
-
257
- /* some weak escaping */
258
- s = s.replace(/[^\w\d\.\_\-\/\:\=\[\]\?\!]/g, '');
259
- s = RegExp.escape(s);
260
-
261
- var show_all = false;
262
- if (s.match(/^\s*$/)) {
263
- show_all = true;
264
- }
265
-
266
- links = $(id).getElementsByTagName('a')
267
- regex = new RegExp(s, 'i');
268
-
269
- for (var x = 0; x < links.length; x++) {
270
- var link = links[x];
271
- if (show_all) {
272
- link.style.display = 'inline';
273
- } else {
274
- if (link.innerHTML.match(regex)) {
275
- link.style.display = 'inline';
276
- } else {
277
- link.style.display = 'none';
278
- }
279
- }
280
- }
281
- return true;
282
- }
283
-
284
- RegExp.escape = function(text) {
285
- if (!arguments.callee.sRE) {
286
- var specials = ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'];
287
- arguments.callee.sRE = new RegExp(
288
- '(\\' + specials.join('|\\') + ')', 'g'
289
- );
290
- }
291
- return text.replace(arguments.callee.sRE, '\\$1');
292
- }
293
-
294
- function hacks() {
295
- // show the spacer if necessary,
296
- divs = document.getElementsByTagName('div');
297
- for(var x = 0; x < divs.length; x++) {
298
- if (divs[x].className && divs[x].className.match(/top/)) {
299
- document.getElementById('spacer').style.display = 'block';
300
- }
301
- }
302
- // remove extra colons from tables
303
- tds = document.getElementsByTagName('td');
304
- for(var x = 0; x < tds.length; x++) {
305
- str = tds[x].innerHTML
306
- if (str.charAt(str.length - 1) == ":") {
307
- tds[x].innerHTML = str.slice(0, str.length - 1)
308
- }
309
- }
310
- }
311
-
312
- addEvent(window, 'load', insertIndices, false);
313
- addEvent(window, 'load', abbreviateIndices, false);
314
- addEvent(window, 'load', stripe, false);
315
- addEvent(window, 'load', highlightSymbols, false);
316
- addEvent(window, 'load', hacks, false);
317
- </script></head><body><div id="container"><div class="curve" id="preheader_curve_0"></div><div class="curve" id="preheader_curve_1"></div><div class="curve" id="preheader_curve_2"></div><div class="curve" id="preheader_curve_3"></div><div class="curve" id="preheader_curve_4"></div><div class="curve" id="preheader_curve_5"></div><div id="header"><p>
318
- </p><span><h1 id="title">
319
- Class: Locale::Tag::Posix
320
- </h1></span></div><div class="clear"></div><div id="left">
321
- <div class="navigation darker top" id="child_of"><h3>Child of</h3><span>
322
-
323
- <a href='Simple.html'>
324
- Simple
325
- </a>
326
- </span></div>
327
-
328
- <div class="navigation darker top" id="defined_in"><h3>Defined in</h3>
329
-
330
- <a href="../../../files/lib/locale/tag/posix_rb.html">lib/locale/tag/posix.rb</a>
331
-
332
- </div>
333
-
334
-
335
-
336
- <div class="navigation top" id="methods"><h3>Methods</h3>
337
-
338
-
339
- <a href='#M000040'>
340
- candidates<br/>
341
- </a>
342
-
343
-
344
-
345
-
346
- <a href='#M000038'>
347
- charset=<br/>
348
- </a>
349
-
350
-
351
-
352
-
353
- <a href='#M000039'>
354
- modifier=<br/>
355
- </a>
356
-
357
-
358
-
359
-
360
- <a href='#M000035'>
361
- new<br/>
362
- </a>
363
-
364
-
365
-
366
-
367
- <a href='#M000036'>
368
- parse<br/>
369
- </a>
370
-
371
-
372
-
373
-
374
- <a href='#M000037'>
375
- to_s<br/>
376
- </a>
377
-
378
-
379
- </div>
380
- <div id="spacer"></div><div class="navigation darker index" id="class_wrapper"><div class="list_header"><h3>All classes</h3></div><div class="list_header_link"><a href="#" onclick="toggle('class'); toggleText('class_link'); return false;" id="class_link">Hide...</a></div><div class="clear"></div><div id="class"><form><label for="filter_class">Filter:&nbsp;&nbsp;</label><input type="text" onKeyUp="return filterList('class', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_class"></input></form></div></div><div class="navigation darker index" id="file_wrapper"><div class="list_header"><h3>All files</h3></div><div class="list_header_link"><a href="#" onclick="toggle('file'); toggleText('file_link'); return false;" id="file_link">Hide...</a></div><div class="clear"></div><div id="file"><form><label for="filter_file">Filter:&nbsp;&nbsp;</label><input type="text" onKeyUp="return filterList('file', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_file"></input></form></div></div><div class="navigation darker index" id="method_wrapper"><div class="list_header"><h3>All methods</h3></div><div class="list_header_link"><a href="#" onclick="toggle('method'); toggleText('method_link'); return false;" id="method_link">Show...</a></div><div class="clear"></div><div id="method"><form><label for="filter_method">Filter:&nbsp;&nbsp;</label><input type="text" onKeyUp="return filterList('method', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_method"></input></form></div></div></div><div id="content">
381
- <h1 id="item_name">Class: Locale::Tag::Posix</h1>
382
-
383
- <div id="description"><p>
384
- <a href="../../Locale.html">Locale</a> tag class for POSIX locale
385
- </p>
386
- <ul>
387
- <li>ja
388
-
389
- </li>
390
- <li>ja_JP
391
-
392
- </li>
393
- <li>ja_JP.UTF-8
394
-
395
- </li>
396
- <li>ja_JP.UTF-8@Osaka
397
-
398
- </li>
399
- <li>C/POSIX (-&gt; en_US)
400
-
401
- </li>
402
- </ul>
403
- </div>
404
-
405
-
406
-
407
-
408
- <p></p>
409
-
410
-
411
- <h1>Constants</h1><p><table><tr><th>Name</th><th>Value</th></tr>
412
- <tr>
413
- <td class="highlight">LANGUAGE</td>
414
-
415
- <td class="normal">&quot;([a-z]{2,})&quot;</td>
416
-
417
-
418
-
419
- </tr>
420
- <tr>
421
- <td class="highlight">TAG_RE</td>
422
-
423
- <td class="normal">/\A#{LANGUAGE}(?:_#{REGION})?(?:\.([^@]+))?(?:@(.*))?\Z/i</td>
424
-
425
-
426
-
427
- </tr>
428
- </table></p>
429
-
430
-
431
- <h1>Attributes</h1><p><table><tr><th>Name</th><th>Read/write?</th></tr>
432
- <tr>
433
- <td class="highlight">charset</td>
434
-
435
-
436
-
437
-
438
- <td class="normal">R</td>
439
- </tr>
440
- <tr>
441
- <td class="highlight">modifier</td>
442
-
443
-
444
-
445
-
446
- <td class="normal">R</td>
447
- </tr>
448
- </table></p>
449
-
450
-
451
- <h1>Public Class Methods</h1>
452
-
453
-
454
- <a class="small" name="M000035"><br/></a>
455
- <div class="method_block"><h3>
456
- <a href='#M000035'>
457
-
458
-
459
- new
460
-
461
- (language, region = nil, charset = nil, modifier = nil)
462
-
463
- </a>
464
- </h3>
465
-
466
- <p class="source_link" id="M000035-show-link"><a href="#" onclick="toggle('M000035-source'); toggleText('M000035-link'); return false;" id="M000035-link">Show source...</a></p><div class="source" id="M000035-source"><pre> <span class="ruby-comment cmt"># File lib/locale/tag/posix.rb, line 27</span>
467
- 27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">language</span>, <span class="ruby-identifier">region</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">charset</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">modifier</span> = <span class="ruby-keyword kw">nil</span>)
468
- 28: <span class="ruby-ivar">@charset</span>, <span class="ruby-ivar">@modifier</span> = <span class="ruby-identifier">charset</span>, <span class="ruby-identifier">modifier</span>
469
- 29: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">language</span>, <span class="ruby-identifier">region</span>)
470
- 30: <span class="ruby-keyword kw">end</span></pre></div>
471
- </div>
472
-
473
- <a class="small" name="M000036"><br/></a>
474
- <div class="method_block"><h3>
475
- <a href='#M000036'>
476
-
477
-
478
- parse
479
-
480
- (tag)
481
-
482
- </a>
483
- </h3>
484
-
485
- <p class="source_link" id="M000036-show-link"><a href="#" onclick="toggle('M000036-source'); toggleText('M000036-link'); return false;" id="M000036-link">Show source...</a></p><div class="source" id="M000036-source"><pre> <span class="ruby-comment cmt"># File lib/locale/tag/posix.rb, line 32</span>
486
- 32: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">tag</span>)
487
- 33: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tag</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^(C|POSIX)$/</span>
488
- 34: <span class="ruby-identifier">ret</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;en&quot;</span>, <span class="ruby-value str">&quot;US&quot;</span>)
489
- 35: <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">tag</span> = <span class="ruby-identifier">tag</span>
490
- 36: <span class="ruby-identifier">ret</span>
491
- 37: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">tag</span> <span class="ruby-operator">=~</span> <span class="ruby-constant">TAG_RE</span>
492
- 38: <span class="ruby-identifier">ret</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">$1</span>, <span class="ruby-identifier">$2</span>, <span class="ruby-identifier">$3</span>, <span class="ruby-identifier">$4</span>)
493
- 39: <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">tag</span> = <span class="ruby-identifier">tag</span>
494
- 40: <span class="ruby-identifier">ret</span>
495
- 41: <span class="ruby-keyword kw">else</span>
496
- 42: <span class="ruby-keyword kw">nil</span>
497
- 43: <span class="ruby-keyword kw">end</span>
498
- 44: <span class="ruby-keyword kw">end</span></pre></div>
499
- </div>
500
-
501
-
502
- <h1>Public Instance Methods</h1>
503
-
504
-
505
- <a class="small" name="M000040"><br/></a>
506
- <div class="method_block"><h3>
507
- <a href='#M000040'>
508
-
509
-
510
- candidates
511
-
512
- ()
513
-
514
- </a>
515
- </h3>
516
- <p>
517
- Returns an Array of tag-<a href="Posix.html#M000040">candidates</a> order
518
- by priority. Use <a href="../../Locale.html#M000012">Locale.candidates</a>
519
- instead of this method.
520
- </p>
521
-
522
- <p class="source_link" id="M000040-show-link"><a href="#" onclick="toggle('M000040-source'); toggleText('M000040-link'); return false;" id="M000040-link">Show source...</a></p><div class="source" id="M000040-source"><pre> <span class="ruby-comment cmt"># File lib/locale/tag/posix.rb, line 71</span>
523
- 71: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">candidates</span>
524
- 72: [<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">language</span>, <span class="ruby-identifier">region</span>, <span class="ruby-identifier">charset</span>, <span class="ruby-identifier">modifier</span>), <span class="ruby-comment cmt">#ja_JP.UTF-8@Modifier</span>
525
- 73: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">language</span>, <span class="ruby-identifier">region</span>, <span class="ruby-identifier">charset</span>), <span class="ruby-comment cmt">#ja_JP.UTF-8</span>
526
- 74: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">language</span>, <span class="ruby-identifier">region</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">modifier</span>), <span class="ruby-comment cmt">#ja_JP@Modifier</span>
527
- 75: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">language</span>, <span class="ruby-identifier">region</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>), <span class="ruby-comment cmt">#ja_JP@Modifier</span>
528
- 76: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">language</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">charset</span>, <span class="ruby-identifier">modifier</span>), <span class="ruby-comment cmt">#ja.UTF-8@Modifier</span>
529
- 77: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">language</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">charset</span>), <span class="ruby-comment cmt">#ja.UTF-8</span>
530
- 78: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">language</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">modifier</span>), <span class="ruby-comment cmt">#ja@Modifier</span>
531
- 79: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">language</span>)] <span class="ruby-comment cmt">#ja</span>
532
- 80: <span class="ruby-keyword kw">end</span></pre></div>
533
- </div>
534
-
535
- <a class="small" name="M000038"><br/></a>
536
- <div class="method_block"><h3>
537
- <a href='#M000038'>
538
-
539
-
540
- charset=
541
-
542
- (val)
543
-
544
- </a>
545
- </h3>
546
- <p>
547
- Set the charset.
548
- </p>
549
-
550
- <p class="source_link" id="M000038-show-link"><a href="#" onclick="toggle('M000038-source'); toggleText('M000038-link'); return false;" id="M000038-link">Show source...</a></p><div class="source" id="M000038-source"><pre> <span class="ruby-comment cmt"># File lib/locale/tag/posix.rb, line 58</span>
551
- 58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">charset=</span>(<span class="ruby-identifier">val</span>)
552
- 59: <span class="ruby-identifier">clear</span>
553
- 60: <span class="ruby-ivar">@charset</span> = <span class="ruby-identifier">val</span>
554
- 61: <span class="ruby-keyword kw">end</span></pre></div>
555
- </div>
556
-
557
- <a class="small" name="M000039"><br/></a>
558
- <div class="method_block"><h3>
559
- <a href='#M000039'>
560
-
561
-
562
- modifier=
563
-
564
- (val)
565
-
566
- </a>
567
- </h3>
568
- <p>
569
- Set the modifier as a String
570
- </p>
571
-
572
- <p class="source_link" id="M000039-show-link"><a href="#" onclick="toggle('M000039-source'); toggleText('M000039-link'); return false;" id="M000039-link">Show source...</a></p><div class="source" id="M000039-source"><pre> <span class="ruby-comment cmt"># File lib/locale/tag/posix.rb, line 64</span>
573
- 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">modifier=</span>(<span class="ruby-identifier">val</span>)
574
- 65: <span class="ruby-identifier">clear</span>
575
- 66: <span class="ruby-ivar">@modifier</span> = <span class="ruby-identifier">val</span>
576
- 67: <span class="ruby-keyword kw">end</span></pre></div>
577
- </div>
578
-
579
- <a class="small" name="M000037"><br/></a>
580
- <div class="method_block"><h3>
581
- <a href='#M000037'>
582
-
583
-
584
- to_s
585
-
586
- ()
587
-
588
- </a>
589
- </h3>
590
- <p>
591
- Returns the language tag.
592
- </p>
593
- <pre>
594
- &lt;language&gt;_&lt;COUNTRY&gt;.&lt;CHARSET&gt;@&lt;MODIFIER&gt;
595
- (e.g.) &quot;ja_JP.EUC-JP@Modifier&quot;
596
- </pre>
597
-
598
- <p class="source_link" id="M000037-show-link"><a href="#" onclick="toggle('M000037-source'); toggleText('M000037-link'); return false;" id="M000037-link">Show source...</a></p><div class="source" id="M000037-source"><pre> <span class="ruby-comment cmt"># File lib/locale/tag/posix.rb, line 49</span>
599
- 49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
600
- 50: <span class="ruby-identifier">s</span> = <span class="ruby-ivar">@language</span>.<span class="ruby-identifier">dup</span>
601
- 51: <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;_#{@region}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@region</span>
602
- 52: <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;.#{@charset}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@charset</span>
603
- 53: <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;@#{@modifier}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@modifier</span>
604
- 54: <span class="ruby-identifier">s</span>
605
- 55: <span class="ruby-keyword kw">end</span></pre></div>
606
- </div>
607
-
608
-
609
-
610
-
611
-
612
- </div><div class="clear" id="footer">Generated on May 9, 2009 / Allison 2 &copy; 2007 <a href="http://cloudbur.st">Cloudburst, LLC</a></div></div></body></html>