marc4j4r 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -94,7 +94,7 @@ a single record, and (b) we’re not worried about interleaved tags
94
94
  <li class="public ">
95
95
  <span class="summary_signature">
96
96
 
97
- <a href="#each-instance_method" title="#each (instance method)">- (Object) <strong>each</strong> </a>
97
+ <a href="#each-instance_method" title="#each (instance method)">- (Object) <strong>each</strong>(hashify = true) </a>
98
98
 
99
99
 
100
100
 
@@ -125,7 +125,7 @@ Return the next record, after calling #hashify on it.
125
125
  <div class="method_details first">
126
126
  <p class="signature first" id="each-instance_method">
127
127
 
128
- - (<tt>Object</tt>) <strong>each</strong>
128
+ - (<tt>Object</tt>) <strong>each</strong>(hashify = true)
129
129
 
130
130
 
131
131
 
@@ -146,21 +146,21 @@ Return the next record, after calling #hashify on it
146
146
  <pre class="lines">
147
147
 
148
148
 
149
- 104
150
- 105
151
- 106
152
- 107
153
- 108
154
- 109
155
- 110</pre>
149
+ 26
150
+ 27
151
+ 28
152
+ 29
153
+ 30
154
+ 31
155
+ 32</pre>
156
156
  </td>
157
157
  <td>
158
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 104</span>
158
+ <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 26</span>
159
159
 
160
- <span class='def def kw'>def</span> <span class='each identifier id'>each</span>
160
+ <span class='def def kw'>def</span> <span class='each identifier id'>each</span><span class='lparen token'>(</span><span class='hashify identifier id'>hashify</span><span class='assign token'>=</span><span class='true true kw'>true</span><span class='rparen token'>)</span>
161
161
  <span class='while while kw'>while</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='hasNext identifier id'>hasNext</span>
162
162
  <span class='r identifier id'>r</span> <span class='assign token'>=</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='next identifier id'>next</span>
163
- <span class='r identifier id'>r</span><span class='dot token'>.</span><span class='hashify identifier id'>hashify</span>
163
+ <span class='r identifier id'>r</span><span class='dot token'>.</span><span class='hashify identifier id'>hashify</span> <span class='if if_mod kw'>if</span> <span class='hashify identifier id'>hashify</span>
164
164
  <span class='yield yield kw'>yield</span> <span class='r identifier id'>r</span>
165
165
  <span class='end end kw'>end</span>
166
166
  <span class='end end kw'>end</span>
@@ -175,7 +175,7 @@ Return the next record, after calling #hashify on it
175
175
  </div>
176
176
 
177
177
  <div id="footer">
178
- Generated on Fri Feb 12 16:38:06 2010 by
178
+ Generated on Sat Apr 3 22:01:07 2010 by
179
179
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
180
180
  0.5.3 (ruby-1.8.7).
181
181
  </div>
data/doc/MARC4J4R.html CHANGED
@@ -62,6 +62,16 @@
62
62
  </dl>
63
63
  <div class="clear"></div>
64
64
 
65
+ <h2>Defined Under Namespace</h2>
66
+ <p class="children">
67
+
68
+
69
+
70
+
71
+ <strong class="classes">Classes:</strong> <a href="MARC4J4R/AlephSequentialReader.html" title="MARC4J4R::AlephSequentialReader (class)">AlephSequentialReader</a>
72
+
73
+
74
+ </p>
65
75
 
66
76
  <h2>Constant Summary</h2>
67
77
 
@@ -69,13 +79,11 @@
69
79
 
70
80
  <dt id="NEWINIT-constant" class="">NEWINIT =
71
81
  <span class="summary_desc">
72
- A string used to override the initializer for each stream reader Need to do
73
- it this ugly way because of the way java and ruby interact; can&#8217;t
74
- just add it to the MarcReader interface the way I wanted to.
82
+ Add some sugar to the MarcReader interface.
75
83
 
76
84
  </span>
77
85
  </dt>
78
- <dd><pre class="code"><span class='string val'>&quot;alias_method :oldinit, :initialize\ndef initialize(fromwhere)\nstream = nil\nif fromwhere.is_a? Java::JavaIO::InputStream\nstream = fromwhere\nelsif fromwhere.is_a? IO\nstream = fromwhere.to_inputstream\nelse\nstream = java.io.FileInputStream.new(fromwhere.to_java_string)\nend\nif self.class == Java::org.marc4j.MarcPermissiveStreamReader\nself.oldinit(stream, true, true)\nelse\nself.oldinit(stream)\nend\nend\n&quot;</span>
86
+ <dd><pre class="code"><span class='string val'>&quot;include Enumerable\nalias_method :oldinit, :initialize\ndef initialize(fromwhere)\nstream = nil\nif fromwhere.is_a? Java::JavaIO::InputStream or fromwhere.is_a? Java::JavaIO::ByteArrayInputStream\nstream = fromwhere\nelsif fromwhere.is_a? IO\nstream = fromwhere.to_inputstream\nelse\nstream = java.io.FileInputStream.new(fromwhere.to_java_string)\nend\nif self.class == Java::org.marc4j.MarcPermissiveStreamReader\nself.oldinit(stream, true, true)\nelse\nself.oldinit(stream)\nend\nend\n&quot;</span>
79
87
  </pre></dd>
80
88
 
81
89
  </dl>
@@ -233,32 +241,36 @@ A MarcReader object with the syntactic sugar added in this file (e.g, each)
233
241
  <pre class="lines">
234
242
 
235
243
 
236
- 76
237
- 77
238
- 78
239
- 79
240
- 80
241
- 81
242
- 82
243
- 83
244
- 84
245
- 85
246
- 86
247
- 87</pre>
244
+ 101
245
+ 102
246
+ 103
247
+ 104
248
+ 105
249
+ 106
250
+ 107
251
+ 108
252
+ 109
253
+ 110
254
+ 111
255
+ 112
256
+ 113
257
+ 114</pre>
248
258
  </td>
249
259
  <td>
250
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 76</span>
260
+ <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 101</span>
251
261
 
252
262
  <span class='def def kw'>def</span> <span class='reader identifier id'>reader</span><span class='lparen token'>(</span><span class='input identifier id'>input</span><span class='comma token'>,</span> <span class='type identifier id'>type</span> <span class='assign token'>=</span> <span class='symbol val'>:strictmarc</span><span class='rparen token'>)</span>
253
263
  <span class='case case kw'>case</span> <span class='type identifier id'>type</span>
254
- <span class='when when kw'>when</span> <span class='symbol val'>:strictmarc</span>
264
+ <span class='when when kw'>when</span> <span class='symbol val'>:strictmarc</span> <span class='then then kw'>then</span>
255
265
  <span class='return return kw'>return</span> <span class='Java constant id'>Java</span><span class='colon2 op'>::</span><span class='org identifier id'>org</span><span class='dot token'>.</span><span class='marc4j identifier id'>marc4j</span><span class='dot token'>.</span><span class='MarcStreamReader constant id'>MarcStreamReader</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='input identifier id'>input</span><span class='rparen token'>)</span>
256
- <span class='when when kw'>when</span> <span class='symbol val'>:permissivemarc</span>
266
+ <span class='when when kw'>when</span> <span class='symbol val'>:permissivemarc</span> <span class='then then kw'>then</span>
257
267
  <span class='return return kw'>return</span> <span class='Java constant id'>Java</span><span class='colon2 op'>::</span><span class='org identifier id'>org</span><span class='dot token'>.</span><span class='marc4j identifier id'>marc4j</span><span class='dot token'>.</span><span class='MarcPermissiveStreamReader constant id'>MarcPermissiveStreamReader</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='input identifier id'>input</span><span class='rparen token'>)</span>
258
- <span class='when when kw'>when</span> <span class='symbol val'>:marcxml</span>
268
+ <span class='when when kw'>when</span> <span class='symbol val'>:marcxml</span> <span class='then then kw'>then</span>
259
269
  <span class='return return kw'>return</span> <span class='Java constant id'>Java</span><span class='colon2 op'>::</span><span class='org identifier id'>org</span><span class='dot token'>.</span><span class='marc4j identifier id'>marc4j</span><span class='dot token'>.</span><span class='MarcXmlReader constant id'>MarcXmlReader</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='input identifier id'>input</span><span class='rparen token'>)</span>
270
+ <span class='when when kw'>when</span> <span class='symbol val'>:alephsequential</span> <span class='then then kw'>then</span>
271
+ <span class='return return kw'>return</span> <span class='MARC4J4R constant id'>MARC4J4R</span><span class='colon2 op'>::</span><span class='AlephSequentialReader constant id'>AlephSequentialReader</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='input identifier id'>input</span><span class='rparen token'>)</span>
260
272
  <span class='else else kw'>else</span>
261
- <span class='raise identifier id'>raise</span> <span class='ArgumentError constant id'>ArgumentError</span><span class='comma token'>,</span> <span class='string val'>&quot;Reader type must be :strictmarc, :permissivemarc, or :marcxml&quot;</span>
273
+ <span class='raise identifier id'>raise</span> <span class='ArgumentError constant id'>ArgumentError</span><span class='comma token'>,</span> <span class='dstring node'>&quot;Reader type #{type} illegal: must be :strictmarc, :permissivemarc, :marcxml, or :alephsequential&quot;</span>
262
274
  <span class='end end kw'>end</span>
263
275
  <span class='end end kw'>end</span>
264
276
  </pre>
@@ -272,7 +284,7 @@ A MarcReader object with the syntactic sugar added in this file (e.g, each)
272
284
  </div>
273
285
 
274
286
  <div id="footer">
275
- Generated on Fri Feb 12 16:38:06 2010 by
287
+ Generated on Sat Apr 3 22:01:07 2010 by
276
288
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
277
289
  0.5.3 (ruby-1.8.7).
278
290
  </div>
data/doc/RecordImpl.html CHANGED
@@ -166,7 +166,7 @@ Cycle through the fields in the order the appear in the record.
166
166
  <li class="public ">
167
167
  <span class="summary_signature">
168
168
 
169
- <a href="#find_by_tag-instance_method" title="#find_by_tag (instance method)">- (Object) <strong>find_by_tag</strong>(tags, originalorder = false) </a>
169
+ <a href="#find_by_tag-instance_method" title="#find_by_tag (instance method)">- (Array&lt;Field&gt;) <strong>find_by_tag</strong>(tags, originalorder = false) </a>
170
170
 
171
171
 
172
172
 
@@ -178,7 +178,10 @@ Cycle through the fields in the order the appear in the record.
178
178
 
179
179
 
180
180
 
181
- <span class="summary_desc"></span>
181
+ <span class="summary_desc">
182
+ Get a (possibly empty) list of fields with the given tag(s).
183
+
184
+ </span>
182
185
 
183
186
  </li>
184
187
 
@@ -227,6 +230,50 @@ Get the leader as a string (marc4j would otherwise return Leader object).
227
230
 
228
231
  </span>
229
232
 
233
+ </li>
234
+
235
+
236
+ <li class="public ">
237
+ <span class="summary_signature">
238
+
239
+ <a href="#to_marc-instance_method" title="#to_marc (instance method)">- (Object) <strong>to_marc</strong> </a>
240
+
241
+
242
+
243
+ </span>
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+ <span class="summary_desc"></span>
252
+
253
+ </li>
254
+
255
+
256
+ <li class="public ">
257
+ <span class="summary_signature">
258
+
259
+ <a href="#to_marchash-instance_method" title="#to_marchash (instance method)">- (Object) <strong>to_marchash</strong> </a>
260
+
261
+
262
+
263
+ </span>
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+ <span class="summary_desc">
272
+ Export as a MARC-Hash, as described at
273
+ http://robotlibrarian.billdueber.com/marc-hash-the-saga-continues-now-with-even-less-structure/.
274
+
275
+ </span>
276
+
230
277
  </li>
231
278
 
232
279
 
@@ -349,20 +396,28 @@ this returns a single field
349
396
  <pre class="lines">
350
397
 
351
398
 
352
- 163
353
- 164
354
- 165
355
- 166
356
- 167
357
- 168
358
- 169</pre>
399
+ 263
400
+ 264
401
+ 265
402
+ 266
403
+ 267
404
+ 268
405
+ 269
406
+ 270
407
+ 271
408
+ 272
409
+ 273</pre>
359
410
  </td>
360
411
  <td>
361
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 163</span>
412
+ <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 263</span>
362
413
 
363
414
  <span class='def def kw'>def</span> <span class='aref op'>[]</span> <span class='tag identifier id'>tag</span>
364
415
  <span class='if if kw'>if</span> <span class='defined? defined kw'>defined?</span> <span class='@hashedtags ivar id'>@hashedtags</span>
365
- <span class='return return kw'>return</span> <span class='@hashedtags ivar id'>@hashedtags</span><span class='lbrack token'>[</span><span class='tag identifier id'>tag</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='rbrack token'>]</span>
416
+ <span class='if if kw'>if</span> <span class='@hashedtags ivar id'>@hashedtags</span><span class='lbrack token'>[</span><span class='tag identifier id'>tag</span><span class='rbrack token'>]</span>
417
+ <span class='return return kw'>return</span> <span class='@hashedtags ivar id'>@hashedtags</span><span class='lbrack token'>[</span><span class='tag identifier id'>tag</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='rbrack token'>]</span>
418
+ <span class='else else kw'>else</span>
419
+ <span class='return return kw'>return</span> <span class='nil nil kw'>nil</span>
420
+ <span class='end end kw'>end</span>
366
421
  <span class='else else kw'>else</span>
367
422
  <span class='return return kw'>return</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='getVariableField identifier id'>getVariableField</span><span class='lparen token'>(</span><span class='tag identifier id'>tag</span><span class='rparen token'>)</span>
368
423
  <span class='end end kw'>end</span>
@@ -397,14 +452,14 @@ Cycle through the fields in the order the appear in the record
397
452
  <pre class="lines">
398
453
 
399
454
 
400
- 152
401
- 153
402
- 154
403
- 155
404
- 156</pre>
455
+ 252
456
+ 253
457
+ 254
458
+ 255
459
+ 256</pre>
405
460
  </td>
406
461
  <td>
407
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 152</span>
462
+ <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 252</span>
408
463
 
409
464
  <span class='def def kw'>def</span> <span class='each identifier id'>each</span>
410
465
  <span class='self self kw'>self</span><span class='dot token'>.</span><span class='getVariableFields identifier id'>getVariableFields</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='f identifier id'>f</span><span class='bitor op'>|</span>
@@ -420,43 +475,167 @@ Cycle through the fields in the order the appear in the record
420
475
  <div class="method_details ">
421
476
  <p class="signature " id="find_by_tag-instance_method">
422
477
 
423
- - (<tt>Object</tt>) <strong>find_by_tag</strong>(tags, originalorder = false)
478
+ - (<tt>Array&lt;Field&gt;</tt>) <strong>find_by_tag</strong>(tags, originalorder = false)
424
479
 
425
480
 
426
481
 
427
- </p><table class="source_code">
482
+ </p><div class="docstring">
483
+ <div class="discussion">
484
+ <p>
485
+ Get a (possibly empty) list of fields with the given tag(s)
486
+ </p>
487
+
488
+
489
+ </div>
490
+ </div>
491
+ <div class="tags">
492
+
493
+ <div class="examples">
494
+ <h3>Examples:</h3>
495
+
496
+ <h4>
497
+ originalorder == false
498
+
499
+ </h4>
500
+ <pre class="example code"> <span class='comment val'># Given a record that looks like </span>
501
+ <span class='comment val'># 010 $a 68027371 </span>
502
+ <span class='comment val'># 035 $a (RLIN)MIUG0001728-B </span>
503
+ <span class='comment val'># 035 $a (CaOTULAS)159818044 </span>
504
+ <span class='comment val'># 035 $a (OCoLC)ocm00001728</span>
505
+
506
+ <span class='r identifier id'>r</span><span class='dot token'>.</span><span class='find_by_tag identifier id'>find_by_tag</span><span class='lparen token'>(</span><span class='lbrack token'>[</span><span class='string val'>'035'</span><span class='comma token'>,</span> <span class='string val'>'010'</span><span class='rbrack token'>]</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='f identifier id'>f</span><span class='bitor op'>|</span> <span class='puts identifier id'>puts</span> <span class='f identifier id'>f</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='rbrace token'>}</span>
507
+ <span class='comment val'># 035 $a (RLIN)MIUG0001728-B </span>
508
+ <span class='comment val'># 035 $a (CaOTULAS)159818044 </span>
509
+ <span class='comment val'># 035 $a (OCoLC)ocm00001728</span>
510
+ <span class='comment val'># 010 $a 68027371 </span>
511
+
512
+ <span class='comment val'># The results are ordered first by tag as passed in, then by original order within the tag</span>
513
+ </pre>
514
+
515
+ <h4>
516
+ Just get all fields for a single tag
517
+
518
+ </h4>
519
+ <pre class="example code"> <span class='ohThirtyFives identifier id'>ohThirtyFives</span> <span class='assign token'>=</span> <span class='r identifier id'>r</span><span class='dot token'>.</span><span class='find_by_tag identifier id'>find_by_tag</span><span class='lparen token'>(</span><span class='string val'>'035'</span><span class='rparen token'>)</span>
520
+ </pre>
521
+
522
+ <h4>
523
+ Get a bunch of standard identifiers
524
+
525
+ </h4>
526
+ <pre class="example code"> <span class='standardIDs identifier id'>standardIDs</span> <span class='assign token'>=</span> <span class='r identifier id'>r</span><span class='dot token'>.</span><span class='find_by_tag identifier id'>find_by_tag</span><span class='lparen token'>(</span><span class='lbrack token'>[</span><span class='string val'>'022'</span><span class='comma token'>,</span> <span class='string val'>'020'</span><span class='comma token'>,</span> <span class='string val'>'010'</span><span class='rbrack token'>]</span><span class='rparen token'>)</span>
527
+ </pre>
528
+
529
+ <h4>
530
+ originalorder == true
531
+
532
+ </h4>
533
+ <pre class="example code"> <span class='r identifier id'>r</span><span class='dot token'>.</span><span class='find_by_tag identifier id'>find_by_tag</span><span class='lparen token'>(</span><span class='lbrack token'>[</span><span class='string val'>'035'</span><span class='comma token'>,</span> <span class='string val'>'010'</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='true true kw'>true</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='f identifier id'>f</span><span class='bitor op'>|</span> <span class='puts identifier id'>puts</span> <span class='f identifier id'>f</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='rbrace token'>}</span>
534
+ <span class='comment val'># 010 $a 68027371 </span>
535
+ <span class='comment val'># 035 $a (RLIN)MIUG0001728-B </span>
536
+ <span class='comment val'># 035 $a (CaOTULAS)159818044 </span>
537
+ <span class='comment val'># 035 $a (OCoLC)ocm00001728</span>
538
+ </pre>
539
+
540
+ </div>
541
+ <h3>Parameters:</h3>
542
+ <ul class="param">
543
+
544
+ <li>
545
+
546
+ <span class='type'>(<tt>String</tt>, <tt>Array&lt;String&gt;</tt>)</span>
547
+
548
+
549
+ <span class='name'>tags</span>
550
+
551
+
552
+
553
+ &mdash;
554
+
555
+ A string (or Array of strings) with the tags you&#8217;re interested in
556
+
557
+
558
+
559
+ </li>
560
+
561
+ <li>
562
+
563
+ <span class='type'>(<tt>Boolean</tt>)</span>
564
+
565
+
566
+ <span class='name'>originalorder</span>
567
+
568
+
569
+ <em class="default">(defaults to: <tt>false</tt>)</em>
570
+
571
+
572
+ &mdash;
573
+
574
+ Whether or not results should be presented in the original order within the
575
+ record or with a two-column sort of (a) Order of the tag in the list of
576
+ tags sent, (b) order within that tag in the record
577
+
578
+
579
+
580
+ </li>
581
+
582
+ </ul>
583
+ <h3>Returns:</h3>
584
+ <ul class="return">
585
+
586
+ <li>
587
+
588
+ <span class='type'>(<tt>Array&lt;Field&gt;</tt>)</span>
589
+
590
+
591
+
592
+
593
+ &mdash;
594
+
595
+ Either an empty list or a list of one or more matched fields will be
596
+ returned.
597
+
598
+
599
+ originalorder == false will use an internal hash and be faster in many
600
+ cases (see #hashify)
601
+
602
+
603
+
604
+ </li>
605
+
606
+ </ul>
607
+
608
+ </div><table class="source_code">
428
609
  <tr>
429
610
  <td>
430
611
  <pre class="lines">
431
612
 
432
613
 
433
- 205
434
- 206
435
- 207
436
- 208
437
- 209
438
- 210
439
- 211
440
- 212
441
- 213
442
- 214
443
- 215
444
- 216
445
- 217</pre>
614
+ 314
615
+ 315
616
+ 316
617
+ 317
618
+ 318
619
+ 319
620
+ 320
621
+ 321
622
+ 322
623
+ 323
624
+ 324
625
+ 325</pre>
446
626
  </td>
447
627
  <td>
448
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 205</span>
628
+ <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 314</span>
449
629
 
450
630
  <span class='def def kw'>def</span> <span class='find_by_tag identifier id'>find_by_tag</span><span class='lparen token'>(</span><span class='tags identifier id'>tags</span><span class='comma token'>,</span> <span class='originalorder identifier id'>originalorder</span> <span class='assign token'>=</span> <span class='false false kw'>false</span><span class='rparen token'>)</span>
631
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='hashify identifier id'>hashify</span> <span class='unless unless_mod kw'>unless</span> <span class='@hashedtags ivar id'>@hashedtags</span> <span class='and and kw'>and</span> <span class='notop op'>!</span><span class='originalorder identifier id'>originalorder</span>
451
632
  <span class='if if kw'>if</span> <span class='notop op'>!</span><span class='tags identifier id'>tags</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span> <span class='Array constant id'>Array</span>
452
- <span class='tags identifier id'>tags</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='tags identifier id'>tags</span><span class='rbrack token'>]</span>
453
- <span class='end end kw'>end</span>
454
- <span class='if if kw'>if</span> <span class='lparen token'>(</span><span class='originalorder identifier id'>originalorder</span> <span class='eq op'>==</span> <span class='false false kw'>false</span> <span class='and and kw'>and</span> <span class='@hashedtags ivar id'>@hashedtags</span> <span class='eq op'>==</span> <span class='nil nil kw'>nil</span><span class='rparen token'>)</span>
455
- <span class='self self kw'>self</span><span class='dot token'>.</span><span class='hashify identifier id'>hashify</span>
633
+ <span class='return return kw'>return</span> <span class='@hashedtags ivar id'>@hashedtags</span><span class='lbrack token'>[</span><span class='tags identifier id'>tags</span><span class='rbrack token'>]</span> <span class='orop op'>||</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
456
634
  <span class='end end kw'>end</span>
457
635
  <span class='if if kw'>if</span> <span class='originalorder identifier id'>originalorder</span>
458
636
  <span class='return return kw'>return</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='find_all identifier id'>find_all</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='f identifier id'>f</span><span class='bitor op'>|</span> <span class='tags identifier id'>tags</span><span class='dot token'>.</span><span class='include? fid id'>include?</span> <span class='f identifier id'>f</span><span class='dot token'>.</span><span class='tag identifier id'>tag</span><span class='rbrace token'>}</span>
459
637
  <span class='else else kw'>else</span>
638
+ <span class='comment val'># puts &quot;Tags is #{tags}: got #{@hashedtags.values_at(*tags)}&quot;</span>
460
639
  <span class='return return kw'>return</span> <span class='@hashedtags ivar id'>@hashedtags</span><span class='dot token'>.</span><span class='values_at identifier id'>values_at</span><span class='lparen token'>(</span><span class='mult op'>*</span><span class='tags identifier id'>tags</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='flatten identifier id'>flatten</span><span class='dot token'>.</span><span class='compact identifier id'>compact</span>
461
640
  <span class='end end kw'>end</span>
462
641
  <span class='end end kw'>end</span>
@@ -491,18 +670,20 @@ automatically if you use reader.each
491
670
  <pre class="lines">
492
671
 
493
672
 
494
- 129
495
- 130
496
- 131
497
- 132
498
- 133
499
- 134
500
- 135</pre>
673
+ 227
674
+ 228
675
+ 229
676
+ 230
677
+ 231
678
+ 232
679
+ 233
680
+ 234</pre>
501
681
  </td>
502
682
  <td>
503
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 129</span>
683
+ <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 227</span>
504
684
 
505
685
  <span class='def def kw'>def</span> <span class='hashify identifier id'>hashify</span>
686
+ <span class='return return kw'>return</span> <span class='if if_mod kw'>if</span> <span class='@hashedtags ivar id'>@hashedtags</span> <span class='comment val'># don't do it more than once</span>
506
687
  <span class='@hashedtags ivar id'>@hashedtags</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span>
507
688
  <span class='self self kw'>self</span><span class='dot token'>.</span><span class='getVariableFields identifier id'>getVariableFields</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='f identifier id'>f</span><span class='bitor op'>|</span>
508
689
  <span class='@hashedtags ivar id'>@hashedtags</span><span class='lbrack token'>[</span><span class='f identifier id'>f</span><span class='dot token'>.</span><span class='tag identifier id'>tag</span><span class='rbrack token'>]</span> <span class='opasgn op'>||=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
@@ -539,12 +720,12 @@ Get the leader as a string (marc4j would otherwise return Leader object)
539
720
  <pre class="lines">
540
721
 
541
722
 
542
- 147
543
- 148
544
- 149</pre>
723
+ 246
724
+ 247
725
+ 248</pre>
545
726
  </td>
546
727
  <td>
547
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 147</span>
728
+ <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 246</span>
548
729
 
549
730
  <span class='def def kw'>def</span> <span class='leader identifier id'>leader</span>
550
731
  <span class='self self kw'>self</span><span class='dot token'>.</span><span class='get_leader identifier id'>get_leader</span><span class='dot token'>.</span><span class='toString identifier id'>toString</span>
@@ -553,6 +734,158 @@ Get the leader as a string (marc4j would otherwise return Leader object)
553
734
  </td>
554
735
  </tr>
555
736
  </table>
737
+ </div>
738
+
739
+ <div class="method_details ">
740
+ <p class="signature " id="to_marc-instance_method">
741
+
742
+ - (<tt>Object</tt>) <strong>to_marc</strong>
743
+
744
+
745
+
746
+ </p><table class="source_code">
747
+ <tr>
748
+ <td>
749
+ <pre class="lines">
750
+
751
+
752
+ 345
753
+ 346
754
+ 347
755
+ 348
756
+ 349
757
+ 350
758
+ 351
759
+ 352
760
+ 353
761
+ 354
762
+ 355
763
+ 356
764
+ 357</pre>
765
+ </td>
766
+ <td>
767
+ <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 345</span>
768
+
769
+ <span class='def def kw'>def</span> <span class='to_marc identifier id'>to_marc</span>
770
+ <span class='begin begin kw'>begin</span>
771
+ <span class='s identifier id'>s</span> <span class='assign token'>=</span> <span class='Java constant id'>Java</span><span class='colon2 op'>::</span><span class='java identifier id'>java</span><span class='dot token'>.</span><span class='io identifier id'>io</span><span class='dot token'>.</span><span class='ByteArrayOutputStream constant id'>ByteArrayOutputStream</span><span class='dot token'>.</span><span class='new identifier id'>new</span>
772
+ <span class='writer identifier id'>writer</span> <span class='assign token'>=</span> <span class='org identifier id'>org</span><span class='dot token'>.</span><span class='marc4j identifier id'>marc4j</span><span class='dot token'>.</span><span class='MarcStreamWriter constant id'>MarcStreamWriter</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='s identifier id'>s</span><span class='rparen token'>)</span>
773
+ <span class='writer identifier id'>writer</span><span class='dot token'>.</span><span class='write identifier id'>write</span><span class='lparen token'>(</span><span class='self self kw'>self</span><span class='rparen token'>)</span>
774
+ <span class='@marcbinary ivar id'>@marcbinary</span> <span class='assign token'>=</span> <span class='s identifier id'>s</span><span class='dot token'>.</span><span class='to_string identifier id'>to_string</span>
775
+ <span class='puts identifier id'>puts</span> <span class='@marcbinary ivar id'>@marcbinary</span>
776
+ <span class='return return kw'>return</span> <span class='@marcbinary ivar id'>@marcbinary</span>
777
+ <span class='rescue rescue kw'>rescue</span>
778
+ <span class='comment val'># &quot;Woops! to_marc failed for record #{self['001'].data}: #{$!}&quot;</span>
779
+ <span class='dstring node'>&quot;Whoops! Failed: #{$!}&quot;</span>
780
+ <span class='end end kw'>end</span>
781
+ <span class='end end kw'>end</span>
782
+ </pre>
783
+ </td>
784
+ </tr>
785
+ </table>
786
+ </div>
787
+
788
+ <div class="method_details ">
789
+ <p class="signature " id="to_marchash-instance_method">
790
+
791
+ - (<tt>Object</tt>) <strong>to_marchash</strong>
792
+
793
+
794
+
795
+ </p><div class="docstring">
796
+ <div class="discussion">
797
+ <p>
798
+ Export as a MARC-Hash, as described at
799
+ http://robotlibrarian.billdueber.com/marc-hash-the-saga-continues-now-with-even-less-structure/
800
+ </p>
801
+
802
+
803
+ </div>
804
+ </div>
805
+ <div class="tags">
806
+ <h3>Returns:</h3>
807
+ <ul class="return">
808
+
809
+ <li>
810
+
811
+ <span class='type'></span>
812
+
813
+
814
+
815
+
816
+
817
+
818
+ A marc-hash representation of the record, suitable for calling .to_json on
819
+ or whatever
820
+
821
+
822
+
823
+ </li>
824
+
825
+ </ul>
826
+
827
+ </div><table class="source_code">
828
+ <tr>
829
+ <td>
830
+ <pre class="lines">
831
+
832
+
833
+ 199
834
+ 200
835
+ 201
836
+ 202
837
+ 203
838
+ 204
839
+ 205
840
+ 206
841
+ 207
842
+ 208
843
+ 209
844
+ 210
845
+ 211
846
+ 212
847
+ 213
848
+ 214
849
+ 215
850
+ 216
851
+ 217
852
+ 218
853
+ 219
854
+ 220
855
+ 221
856
+ 222</pre>
857
+ </td>
858
+ <td>
859
+ <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 199</span>
860
+
861
+ <span class='def def kw'>def</span> <span class='to_marchash identifier id'>to_marchash</span>
862
+ <span class='h identifier id'>h</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span>
863
+ <span class='h identifier id'>h</span><span class='lbrack token'>[</span><span class='string val'>'type'</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='string val'>'marc-hash'</span>
864
+ <span class='h identifier id'>h</span><span class='lbrack token'>[</span><span class='string val'>'version'</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='integer val'>1</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='rbrack token'>]</span>
865
+ <span class='h identifier id'>h</span><span class='lbrack token'>[</span><span class='string val'>'leader'</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='leader identifier id'>leader</span>
866
+
867
+ <span class='fields identifier id'>fields</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
868
+
869
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='getVariableFields identifier id'>getVariableFields</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='f identifier id'>f</span><span class='bitor op'>|</span>
870
+ <span class='if if kw'>if</span> <span class='f identifier id'>f</span><span class='dot token'>.</span><span class='controlField? fid id'>controlField?</span>
871
+ <span class='fields identifier id'>fields</span> <span class='lshft op'>&lt;&lt;</span> <span class='lbrack token'>[</span><span class='f identifier id'>f</span><span class='dot token'>.</span><span class='tag identifier id'>tag</span><span class='comma token'>,</span> <span class='f identifier id'>f</span><span class='dot token'>.</span><span class='value identifier id'>value</span><span class='rbrack token'>]</span>
872
+ <span class='else else kw'>else</span>
873
+ <span class='farray identifier id'>farray</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='f identifier id'>f</span><span class='dot token'>.</span><span class='tag identifier id'>tag</span><span class='comma token'>,</span> <span class='f identifier id'>f</span><span class='dot token'>.</span><span class='indicator1 identifier id'>indicator1</span> <span class='orop op'>||</span> <span class='string val'>' '</span><span class='comma token'>,</span> <span class='f identifier id'>f</span><span class='dot token'>.</span><span class='indicator2 identifier id'>indicator2</span> <span class='orop op'>||</span> <span class='string val'>' '</span><span class='rbrack token'>]</span>
874
+ <span class='subs identifier id'>subs</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
875
+ <span class='f identifier id'>f</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='subfield identifier id'>subfield</span><span class='bitor op'>|</span>
876
+ <span class='subs identifier id'>subs</span> <span class='lshft op'>&lt;&lt;</span> <span class='lbrack token'>[</span><span class='subfield identifier id'>subfield</span><span class='dot token'>.</span><span class='code identifier id'>code</span><span class='comma token'>,</span> <span class='subfield identifier id'>subfield</span><span class='dot token'>.</span><span class='value identifier id'>value</span><span class='rbrack token'>]</span>
877
+ <span class='end end kw'>end</span>
878
+ <span class='farray identifier id'>farray</span><span class='dot token'>.</span><span class='push identifier id'>push</span> <span class='subs identifier id'>subs</span>
879
+ <span class='fields identifier id'>fields</span> <span class='lshft op'>&lt;&lt;</span> <span class='farray identifier id'>farray</span>
880
+ <span class='end end kw'>end</span>
881
+ <span class='end end kw'>end</span>
882
+ <span class='h identifier id'>h</span><span class='lbrack token'>[</span><span class='string val'>'fields'</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='fields identifier id'>fields</span>
883
+ <span class='return return kw'>return</span> <span class='h identifier id'>h</span>
884
+ <span class='end end kw'>end</span>
885
+ </pre>
886
+ </td>
887
+ </tr>
888
+ </table>
556
889
  </div>
557
890
 
558
891
  <div class="method_details ">
@@ -579,16 +912,16 @@ Create a nice string of the record
579
912
  <pre class="lines">
580
913
 
581
914
 
582
- 138
583
- 139
584
- 140
585
- 141
586
- 142
587
- 143
588
- 144</pre>
915
+ 237
916
+ 238
917
+ 239
918
+ 240
919
+ 241
920
+ 242
921
+ 243</pre>
589
922
  </td>
590
923
  <td>
591
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 138</span>
924
+ <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 237</span>
592
925
 
593
926
  <span class='def def kw'>def</span> <span class='to_s identifier id'>to_s</span>
594
927
  <span class='arr identifier id'>arr</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='string val'>'LEADER '</span> <span class='plus op'>+</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='leader identifier id'>leader</span><span class='rbrack token'>]</span>
@@ -646,25 +979,35 @@ String A MARC-XML representation of the record, including the XML header
646
979
  <pre class="lines">
647
980
 
648
981
 
649
- 222
650
- 223
651
- 224
652
- 225
653
- 226
654
- 227
655
- 228
656
- 229</pre>
982
+ 331
983
+ 332
984
+ 333
985
+ 334
986
+ 335
987
+ 336
988
+ 337
989
+ 338
990
+ 339
991
+ 340
992
+ 341
993
+ 342
994
+ 343</pre>
657
995
  </td>
658
996
  <td>
659
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 222</span>
997
+ <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 331</span>
660
998
 
661
999
  <span class='def def kw'>def</span> <span class='to_xml identifier id'>to_xml</span>
662
1000
  <span class='return return kw'>return</span> <span class='@xml ivar id'>@xml</span> <span class='if if_mod kw'>if</span> <span class='@xml ivar id'>@xml</span>
663
- <span class='@xml ivar id'>@xml</span> <span class='assign token'>=</span> <span class='java identifier id'>java</span><span class='dot token'>.</span><span class='io identifier id'>io</span><span class='dot token'>.</span><span class='StringWriter constant id'>StringWriter</span><span class='dot token'>.</span><span class='new identifier id'>new</span>
664
- <span class='res identifier id'>res</span> <span class='assign token'>=</span> <span class='javax identifier id'>javax</span><span class='dot token'>.</span><span class='xml identifier id'>xml</span><span class='dot token'>.</span><span class='transform identifier id'>transform</span><span class='dot token'>.</span><span class='stream identifier id'>stream</span><span class='dot token'>.</span><span class='StreamResult constant id'>StreamResult</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='@xml ivar id'>@xml</span><span class='rparen token'>)</span>
665
- <span class='writer identifier id'>writer</span> <span class='assign token'>=</span> <span class='org identifier id'>org</span><span class='dot token'>.</span><span class='marc4j identifier id'>marc4j</span><span class='dot token'>.</span><span class='MarcXmlWriter constant id'>MarcXmlWriter</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='res identifier id'>res</span><span class='rparen token'>)</span>
666
- <span class='writer identifier id'>writer</span><span class='dot token'>.</span><span class='write identifier id'>write</span><span class='lparen token'>(</span><span class='self self kw'>self</span><span class='rparen token'>)</span>
667
- <span class='return return kw'>return</span> <span class='@xml ivar id'>@xml</span><span class='dot token'>.</span><span class='toString identifier id'>toString</span>
1001
+ <span class='begin begin kw'>begin</span>
1002
+ <span class='@xml ivar id'>@xml</span> <span class='assign token'>=</span> <span class='java identifier id'>java</span><span class='dot token'>.</span><span class='io identifier id'>io</span><span class='dot token'>.</span><span class='StringWriter constant id'>StringWriter</span><span class='dot token'>.</span><span class='new identifier id'>new</span>
1003
+ <span class='res identifier id'>res</span> <span class='assign token'>=</span> <span class='javax identifier id'>javax</span><span class='dot token'>.</span><span class='xml identifier id'>xml</span><span class='dot token'>.</span><span class='transform identifier id'>transform</span><span class='dot token'>.</span><span class='stream identifier id'>stream</span><span class='dot token'>.</span><span class='StreamResult constant id'>StreamResult</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='@xml ivar id'>@xml</span><span class='rparen token'>)</span>
1004
+ <span class='writer identifier id'>writer</span> <span class='assign token'>=</span> <span class='org identifier id'>org</span><span class='dot token'>.</span><span class='marc4j identifier id'>marc4j</span><span class='dot token'>.</span><span class='MarcXmlWriter constant id'>MarcXmlWriter</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='res identifier id'>res</span><span class='rparen token'>)</span>
1005
+ <span class='writer identifier id'>writer</span><span class='dot token'>.</span><span class='write identifier id'>write</span><span class='lparen token'>(</span><span class='self self kw'>self</span><span class='rparen token'>)</span>
1006
+ <span class='writer identifier id'>writer</span><span class='dot token'>.</span><span class='writeEndDocument identifier id'>writeEndDocument</span>
1007
+ <span class='return return kw'>return</span> <span class='@xml ivar id'>@xml</span><span class='dot token'>.</span><span class='toString identifier id'>toString</span>
1008
+ <span class='rescue rescue kw'>rescue</span>
1009
+ <span class='dstring node'>&quot;Woops! to_xml failed for record #{self['001'].data}: #{$!}&quot;</span>
1010
+ <span class='end end kw'>end</span>
668
1011
  <span class='end end kw'>end</span>
669
1012
  </pre>
670
1013
  </td>
@@ -677,7 +1020,7 @@ String A MARC-XML representation of the record, including the XML header
677
1020
  </div>
678
1021
 
679
1022
  <div id="footer">
680
- Generated on Fri Feb 12 16:38:06 2010 by
1023
+ Generated on Sat Apr 3 22:01:06 2010 by
681
1024
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
682
1025
  0.5.3 (ruby-1.8.7).
683
1026
  </div>