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.
- data/VERSION +1 -1
- data/doc/ControlFieldImpl.html +153 -58
- data/doc/DataFieldImpl.html +223 -133
- data/doc/Java/OrgMarc4j/MarcReader.html +13 -13
- data/doc/MARC4J4R.html +34 -22
- data/doc/RecordImpl.html +415 -72
- data/doc/SubfieldImpl.html +63 -14
- data/doc/_index.html +76 -1
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +7 -4
- data/doc/index.html +7 -4
- data/doc/method_list.html +168 -24
- data/doc/top-level-namespace.html +3 -3
- data/jars/MarcImporter.jar +0 -0
- data/jars/marc4j.jar +0 -0
- data/lib/marc4j4r.rb +190 -37
- data/test/batch.seq +118 -0
- data/test/bench.rb +63 -0
- data/test/one.seq +30 -0
- data/test/readtest.rb +120 -0
- data/test/t.rb +6 -0
- metadata +9 -4
- data/test/test_marc4j4r.rb +0 -76
@@ -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
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
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
|
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
|
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
|
-
|
73
|
-
it this ugly way because of the way java and ruby interact; can’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'>"
|
86
|
+
<dd><pre class="code"><span class='string val'>"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"</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
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
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
|
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='
|
273
|
+
<span class='raise identifier id'>raise</span> <span class='ArgumentError constant id'>ArgumentError</span><span class='comma token'>,</span> <span class='dstring node'>"Reader type #{type} illegal: must be :strictmarc, :permissivemarc, :marcxml, or :alephsequential"</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
|
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)">- (
|
169
|
+
<a href="#find_by_tag-instance_method" title="#find_by_tag (instance method)">- (Array<Field>) <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"
|
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
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
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
|
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='
|
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
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
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
|
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>
|
478
|
+
- (<tt>Array<Field></tt>) <strong>find_by_tag</strong>(tags, originalorder = false)
|
424
479
|
|
425
480
|
|
426
481
|
|
427
|
-
</p><
|
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<String></tt>)</span>
|
547
|
+
|
548
|
+
|
549
|
+
<span class='name'>tags</span>
|
550
|
+
|
551
|
+
|
552
|
+
|
553
|
+
—
|
554
|
+
|
555
|
+
A string (or Array of strings) with the tags you’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
|
+
—
|
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<Field></tt>)</span>
|
589
|
+
|
590
|
+
|
591
|
+
|
592
|
+
|
593
|
+
—
|
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
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
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
|
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='
|
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 "Tags is #{tags}: got #{@hashedtags.values_at(*tags)}"</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
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
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
|
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
|
-
|
543
|
-
|
544
|
-
|
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
|
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'># "Woops! to_marc failed for record #{self['001'].data}: #{$!}"</span>
|
779
|
+
<span class='dstring node'>"Whoops! Failed: #{$!}"</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'><<</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'><<</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'><<</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
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
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
|
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
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
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
|
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='
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
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'>"Woops! to_xml failed for record #{self['001'].data}: #{$!}"</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
|
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>
|