marc4j4r 0.1.6 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. data/README.rdoc +17 -0
  2. data/Rakefile +26 -13
  3. data/VERSION +1 -1
  4. data/jars/marc4j.jar +0 -0
  5. data/lib/marc4j4r/controlfield.rb +32 -0
  6. data/lib/marc4j4r/datafield.rb +196 -0
  7. data/lib/marc4j4r/reader.rb +71 -0
  8. data/lib/marc4j4r/record.rb +214 -0
  9. data/lib/marc4j4r/writer.rb +29 -0
  10. data/lib/marc4j4r.rb +26 -485
  11. data/lib/original_monolithic_file.rb +518 -0
  12. data/spec/batch.dat +1 -0
  13. data/spec/batch.txt +193 -0
  14. data/spec/batch.xml +13 -0
  15. data/spec/controlfield_spec.rb +40 -0
  16. data/spec/datafield_spec.rb +56 -0
  17. data/spec/one.dat +1 -0
  18. data/spec/one.txt +17 -0
  19. data/spec/one.xml +4 -0
  20. data/spec/reader_spec.rb +49 -0
  21. data/spec/record_spec.rb +101 -0
  22. data/{test/helper.rb → spec/spec_helper.rb} +9 -5
  23. metadata +74 -80
  24. data/.document +0 -5
  25. data/.gitignore +0 -21
  26. data/README.markdown +0 -41
  27. data/doc/ControlFieldImpl.html +0 -314
  28. data/doc/DataFieldImpl.html +0 -875
  29. data/doc/Java/OrgMarc4j/MarcReader.html +0 -184
  30. data/doc/MARC4J4R/Reader.html +0 -245
  31. data/doc/MARC4J4R.html +0 -281
  32. data/doc/RecordImpl.html +0 -686
  33. data/doc/SubfieldImpl.html +0 -252
  34. data/doc/_index.html +0 -153
  35. data/doc/class_list.html +0 -36
  36. data/doc/css/common.css +0 -1
  37. data/doc/css/full_list.css +0 -50
  38. data/doc/css/style.css +0 -268
  39. data/doc/file.README.html +0 -90
  40. data/doc/file_list.html +0 -38
  41. data/doc/frames.html +0 -13
  42. data/doc/index.html +0 -90
  43. data/doc/js/app.js +0 -99
  44. data/doc/js/full_list.js +0 -106
  45. data/doc/js/jquery.js +0 -19
  46. data/doc/method_list.html +0 -219
  47. data/doc/top-level-namespace.html +0 -87
  48. data/jars/MarcImporter.jar +0 -0
  49. data/test/batch.seq +0 -118
  50. data/test/bench.rb +0 -63
  51. data/test/one.dat +0 -1
  52. data/test/one.seq +0 -30
  53. data/test/one.xml +0 -55
  54. data/test/test_marc4j4r.rb +0 -76
metadata CHANGED
@@ -1,113 +1,107 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marc4j4r
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 2
9
+ version: 0.2.2
5
10
  platform: ruby
6
11
  authors:
7
- - BillDueber
12
+ - BillDueber
8
13
  autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-05-07 00:00:00 -04:00
17
+ date: 2010-07-13 00:00:00 -04:00
13
18
  default_executable:
14
19
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: thoughtbot-shoulda
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
24
- version:
25
- - !ruby/object:Gem::Dependency
26
- name: yard
27
- type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: "0"
34
- version:
35
- description: Syntactic sugar and some extra methods to deal with classes in the marc4j java package
20
+ - !ruby/object:Gem::Dependency
21
+ name: bacon
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :development
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: yard
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ segments:
40
+ - 0
41
+ version: "0"
42
+ type: :development
43
+ version_requirements: *id002
44
+ description: Syntactic sugar and some extra methods to deal with MARC data using the java .jar marc4j
36
45
  email: bill@dueber.com
37
46
  executables: []
38
47
 
39
48
  extensions: []
40
49
 
41
- extra_rdoc_files:
42
- - LICENSE
43
- - README.markdown
50
+ extra_rdoc_files: []
51
+
44
52
  files:
45
- - .document
46
- - .gitignore
47
- - LICENSE
48
- - README.markdown
49
- - Rakefile
50
- - VERSION
51
- - doc/ControlFieldImpl.html
52
- - doc/DataFieldImpl.html
53
- - doc/Java/OrgMarc4j/MarcReader.html
54
- - doc/MARC4J4R.html
55
- - doc/MARC4J4R/Reader.html
56
- - doc/RecordImpl.html
57
- - doc/SubfieldImpl.html
58
- - doc/_index.html
59
- - doc/class_list.html
60
- - doc/css/common.css
61
- - doc/css/full_list.css
62
- - doc/css/style.css
63
- - doc/file.README.html
64
- - doc/file_list.html
65
- - doc/frames.html
66
- - doc/index.html
67
- - doc/js/app.js
68
- - doc/js/full_list.js
69
- - doc/js/jquery.js
70
- - doc/method_list.html
71
- - doc/top-level-namespace.html
72
- - jars/MarcImporter.jar
73
- - jars/marc4j.jar
74
- - lib/marc4j4r.rb
75
- - test/batch.seq
76
- - test/bench.rb
77
- - test/helper.rb
78
- - test/one.dat
79
- - test/one.seq
80
- - test/one.xml
81
- - test/test_marc4j4r.rb
53
+ - LICENSE
54
+ - README.rdoc
55
+ - Rakefile
56
+ - VERSION
57
+ - jars/marc4j.jar
58
+ - lib/marc4j4r.rb
59
+ - lib/marc4j4r/controlfield.rb
60
+ - lib/marc4j4r/datafield.rb
61
+ - lib/marc4j4r/reader.rb
62
+ - lib/marc4j4r/record.rb
63
+ - lib/marc4j4r/writer.rb
64
+ - lib/original_monolithic_file.rb
65
+ - spec/batch.dat
66
+ - spec/batch.txt
67
+ - spec/batch.xml
68
+ - spec/controlfield_spec.rb
69
+ - spec/datafield_spec.rb
70
+ - spec/one.dat
71
+ - spec/one.txt
72
+ - spec/one.xml
73
+ - spec/reader_spec.rb
74
+ - spec/record_spec.rb
75
+ - spec/spec_helper.rb
82
76
  has_rdoc: true
83
- homepage: http://github.com/billdueber/marc4j4r
77
+ homepage: http://github.com/billdueber/javamarc/tree/master/ruby/marc4j4r/
84
78
  licenses: []
85
79
 
86
80
  post_install_message:
87
81
  rdoc_options:
88
- - --charset=UTF-8
82
+ - --charset=UTF-8
89
83
  require_paths:
90
- - lib
84
+ - lib
91
85
  required_ruby_version: !ruby/object:Gem::Requirement
92
86
  requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: "0"
96
- version:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ segments:
90
+ - 0
91
+ version: "0"
97
92
  required_rubygems_version: !ruby/object:Gem::Requirement
98
93
  requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- version: "0"
102
- version:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ segments:
97
+ - 0
98
+ version: "0"
103
99
  requirements: []
104
100
 
105
101
  rubyforge_project:
106
- rubygems_version: 1.3.5
102
+ rubygems_version: 1.3.6
107
103
  signing_key:
108
104
  specification_version: 3
109
105
  summary: Use marc4j java library in JRuby in a more ruby-ish way
110
- test_files:
111
- - test/bench.rb
112
- - test/helper.rb
113
- - test/test_marc4j4r.rb
106
+ test_files: []
107
+
data/.document DELETED
@@ -1,5 +0,0 @@
1
- README.rdoc
2
- lib/**/*.rb
3
- bin/*
4
- features/**/*.feature
5
- LICENSE
data/.gitignore DELETED
@@ -1,21 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC
data/README.markdown DELETED
@@ -1,41 +0,0 @@
1
- # marc4j4r -- work with marc4j in JRuby
2
-
3
- marc4j4r is some simple syntactic sugar on top of the java libary [marc4j](http://marc4j.tigris.org/). It allows iteration
4
- via #each and implements many of the same convenience functions as [ruby-marc](http://marc.rubyforge.org/).
5
-
6
- Most of the good stuff is in RecordImpl and DataFieldImpl. They, along with the *Reader classes, now implement #each
7
- for their subparts as well as #[] where it makes sense. See the examples in [the documentation]() for more information.
8
-
9
- There's also a convenience module method, MARC4J4R.reader, to get a reader, as shown below.
10
-
11
- Full documentation can be generated via the 'rake yard' command and is online at http://rdoc.info/projects/billdueber/marc4j4r
12
-
13
- ## Example
14
-
15
- require 'rubygems'
16
- require 'marc4j4r'
17
-
18
- reader = MARC4J4R.reader('test.mrc')
19
- #reader = MARC4J4R.reader('test.mrc', :strictmarc) # be explicit
20
- #preader = MARC4J4R.reader('test.mrc', :permissivemarc)
21
- #xmlreader = MARC4J4R.reader('test.xml', :marcxml)
22
- #
23
- # Can also use an IO object
24
- # reader = MARC4J4R.reader(File.new('test.mrc'))
25
-
26
-
27
- reader.each do |r|
28
- lccn = r['010']['a'] if r['010']
29
- isSBns = r.find_by_tag(['020', '022']).map {|f| f['a']}
30
- first035 = r['035']
31
- fullTitle = r['245'].sub_values(['a', 'b', 'd', 'f', 'h']).join(' ')
32
- r['300'].each do |subfield|
33
- puts subfield.code + ' ' + subfield.value
34
- end
35
- end
36
-
37
-
38
-
39
- == Copyright
40
-
41
- Copyright (c) 2010 BillDueber. See LICENSE for details.
@@ -1,314 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta name="Content-Type" content="text/html; charset=UTF-8" />
6
- <title>Class: ControlFieldImpl</title>
7
- <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
- <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
-
10
- <script type="text/javascript" charset="utf-8">
11
- relpath = '';
12
- if (relpath != '') relpath += '/';
13
- </script>
14
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
-
17
- </head>
18
- <body>
19
- <script type="text/javascript" charset="utf-8">
20
- if (window.top.frames.main) document.body.className = 'frames';
21
- </script>
22
-
23
- <div id="header">
24
- <div id="menu">
25
-
26
- <a href="_index.html">Index (C)</a> &raquo;
27
-
28
-
29
- <span class="title">ControlFieldImpl</span>
30
-
31
-
32
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
- </div>
34
-
35
- <div id="search">
36
- <a id="class_list_link" href="#">Class List</a>
37
- <a id="method_list_link" href="#">Method List</a>
38
- <a id ="file_list_link" href="#">File List</a>
39
- </div>
40
-
41
- <div class="clear"></div>
42
- </div>
43
-
44
- <iframe id="search_frame"></iframe>
45
-
46
- <div id="content"><h1>Class: ControlFieldImpl
47
-
48
-
49
- </h1>
50
-
51
- <dl class="box">
52
-
53
- <dt class="r1">Inherits:</dt>
54
- <dd class="r1">
55
- <span class="inheritName">Object</span>
56
-
57
- <ul class="fullTree">
58
- <li>Object</li>
59
-
60
- <li class="next">ControlFieldImpl</li>
61
-
62
- </ul>
63
- <a href="#" class="inheritanceTree">show all</a>
64
-
65
- </dd>
66
-
67
-
68
-
69
-
70
-
71
-
72
-
73
-
74
- <dt class="r2 last">Defined in:</dt>
75
- <dd class="r2 last">lib/marc4j4r.rb</dd>
76
-
77
- </dl>
78
- <div class="clear"></div>
79
-
80
-
81
-
82
-
83
- <h2>Instance Method Summary</h2>
84
-
85
- <ul class="summary">
86
-
87
- <li class="public ">
88
- <span class="summary_signature">
89
-
90
- <a href="#to_s-instance_method" title="#to_s (instance method)">- (Object) <strong>to_s</strong> </a>
91
-
92
-
93
-
94
- </span>
95
-
96
-
97
-
98
-
99
-
100
-
101
-
102
- <span class="summary_desc">
103
- Pretty-print.
104
-
105
- </span>
106
-
107
- </li>
108
-
109
-
110
- <li class="public ">
111
- <span class="summary_signature">
112
-
113
- <a href="#value-instance_method" title="#value (instance method)">- (Object) <strong>value</strong> </a>
114
-
115
-
116
-
117
- </span>
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
- <span class="summary_desc"></span>
126
-
127
- </li>
128
-
129
-
130
- <li class="public ">
131
- <span class="summary_signature">
132
-
133
- <a href="#via_tagspec-instance_method" title="#via_tagspec (instance method)">- (Object) <strong>via_tagspec</strong>(tagspec) </a>
134
-
135
-
136
-
137
- </span>
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
- <span class="summary_desc"></span>
146
-
147
- </li>
148
-
149
-
150
- </ul>
151
-
152
-
153
- <div id="instance_method_details" class="method_details_list">
154
- <h2>Instance Method Details</h2>
155
-
156
-
157
- <div class="method_details first">
158
- <p class="signature first" id="to_s-instance_method">
159
-
160
- - (<tt>Object</tt>) <strong>to_s</strong>
161
-
162
-
163
-
164
- </p><div class="docstring">
165
- <div class="discussion">
166
- <p>
167
- Pretty-print
168
- </p>
169
-
170
-
171
- </div>
172
- </div>
173
- <div class="tags">
174
- <h3>Parameters:</h3>
175
- <ul class="param">
176
-
177
- <li>
178
-
179
- <span class='type'>(<tt>String</tt>)</span>
180
-
181
-
182
- <span class='name'>joiner</span>
183
-
184
-
185
-
186
- &mdash;
187
-
188
- What string to use to join the subfields
189
-
190
-
191
-
192
- </li>
193
-
194
- <li>
195
-
196
- <span class='type'>(<tt>String</tt>)</span>
197
-
198
-
199
- <span class='name'>The</span>
200
-
201
-
202
-
203
- &mdash;
204
-
205
- pretty string
206
-
207
-
208
-
209
- </li>
210
-
211
- </ul>
212
-
213
- </div><table class="source_code">
214
- <tr>
215
- <td>
216
- <pre class="lines">
217
-
218
-
219
- 251
220
- 252
221
- 253</pre>
222
- </td>
223
- <td>
224
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 251</span>
225
-
226
- <span class='def def kw'>def</span> <span class='to_s identifier id'>to_s</span>
227
- <span class='return return kw'>return</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='tag identifier id'>tag</span> <span class='plus op'>+</span> <span class='string val'>&quot; &quot;</span> <span class='plus op'>+</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='value identifier id'>value</span>
228
- <span class='end end kw'>end</span>
229
- </pre>
230
- </td>
231
- </tr>
232
- </table>
233
- </div>
234
-
235
- <div class="method_details ">
236
- <p class="signature " id="value-instance_method">
237
-
238
- - (<tt>Object</tt>) <strong>value</strong>
239
-
240
-
241
-
242
- </p><table class="source_code">
243
- <tr>
244
- <td>
245
- <pre class="lines">
246
-
247
-
248
- 234
249
- 235
250
- 236</pre>
251
- </td>
252
- <td>
253
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 234</span>
254
-
255
- <span class='def def kw'>def</span> <span class='value identifier id'>value</span>
256
- <span class='return return kw'>return</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='data identifier id'>data</span>
257
- <span class='end end kw'>end</span>
258
- </pre>
259
- </td>
260
- </tr>
261
- </table>
262
- </div>
263
-
264
- <div class="method_details ">
265
- <p class="signature " id="via_tagspec-instance_method">
266
-
267
- - (<tt>Object</tt>) <strong>via_tagspec</strong>(tagspec)
268
-
269
-
270
-
271
- </p><table class="source_code">
272
- <tr>
273
- <td>
274
- <pre class="lines">
275
-
276
-
277
- 239
278
- 240
279
- 241
280
- 242
281
- 243
282
- 244
283
- 245
284
- 246</pre>
285
- </td>
286
- <td>
287
- <pre class="code"><span class="info file"># File 'lib/marc4j4r.rb', line 239</span>
288
-
289
- <span class='def def kw'>def</span> <span class='via_tagspec identifier id'>via_tagspec</span><span class='lparen token'>(</span><span class='tagspec identifier id'>tagspec</span><span class='rparen token'>)</span>
290
- <span class='return return kw'>return</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='getData identifier id'>getData</span> <span class='unless unless_mod kw'>unless</span> <span class='lparen token'>(</span><span class='tagspec identifier id'>tagspec</span><span class='dot token'>.</span><span class='start identifier id'>start</span><span class='rparen token'>)</span>
291
- <span class='len identifier id'>len</span> <span class='assign token'>=</span> <span class='integer val'>1</span>
292
- <span class='if if kw'>if</span> <span class='tagspec identifier id'>tagspec</span><span class='dot token'>.</span><span class='end identifier id'>end</span>
293
- <span class='len identifier id'>len</span> <span class='assign token'>=</span> <span class='tagspec identifier id'>tagspec</span><span class='dot token'>.</span><span class='end identifier id'>end</span><span class='dot token'>.</span><span class='to_i identifier id'>to_i</span> <span class='minus op'>-</span> <span class='tagspec identifier id'>tagspec</span><span class='dot token'>.</span><span class='start identifier id'>start</span><span class='dot token'>.</span><span class='to_i identifier id'>to_i</span>
294
- <span class='end end kw'>end</span>
295
- <span class='return return kw'>return</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='getData identifier id'>getData</span><span class='lbrack token'>[</span><span class='tagspec identifier id'>tagspec</span><span class='dot token'>.</span><span class='start identifier id'>start</span><span class='dot token'>.</span><span class='to_i identifier id'>to_i</span> <span class='comma token'>,</span> <span class='len identifier id'>len</span><span class='rbrack token'>]</span>
296
- <span class='end end kw'>end</span>
297
- </pre>
298
- </td>
299
- </tr>
300
- </table>
301
- </div>
302
-
303
- </div>
304
-
305
- </div>
306
-
307
- <div id="footer">
308
- Generated on Fri Feb 12 16:38:06 2010 by
309
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
310
- 0.5.3 (ruby-1.8.7).
311
- </div>
312
-
313
- </body>
314
- </html>