marc4j4r 0.1.3 → 0.1.4

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.
@@ -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>