marc 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Changes +3 -0
- data/Rakefile +1 -1
- data/lib/marc/datafield.rb +7 -1
- data/lib/marc/dublincore.rb +0 -0
- data/test/no-leading-zero.xml +1 -0
- data/test/tc_dublincore.rb +0 -0
- data/test/tc_xml.rb +6 -0
- metadata +56 -48
data/Changes
CHANGED
data/Rakefile
CHANGED
data/lib/marc/datafield.rb
CHANGED
@@ -50,7 +50,13 @@ module MARC
|
|
50
50
|
# ['c', 'by Edward O. Wilson.'] )
|
51
51
|
|
52
52
|
def initialize(tag, i1=' ', i2=' ', *subfields)
|
53
|
-
|
53
|
+
# if the tag is less than 3 characters long and
|
54
|
+
# the string is all numeric then we pad with zeros
|
55
|
+
if tag.length < 3 and /^[0-9]*$/ =~ tag
|
56
|
+
@tag = "%03d" % tag
|
57
|
+
else
|
58
|
+
@tag = tag
|
59
|
+
end
|
54
60
|
# can't allow nil to be passed in or else it'll
|
55
61
|
# screw us up later when we try to encode
|
56
62
|
@indicator1 = i1 == nil ? ' ' : i1
|
data/lib/marc/dublincore.rb
CHANGED
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
<ns0:record xmlns:ns0="http://www.loc.gov/MARC21/slim"><ns0:leader> Z 22 4500</ns0:leader><ns0:datafield ind1="0" ind2="0" tag="245"><ns0:subfield code="a">The Untamed</ns0:subfield><ns0:subfield code="b" /><ns0:subfield code="c">by Max Brand</ns0:subfield></ns0:datafield><ns0:datafield ind1="0" ind2="z" tag="100"><ns0:subfield code="a">Brand, Max,</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="42"><ns0:subfield code="a">dc</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="100"><ns0:subfield code="d">1892-1944</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="245"><ns0:subfield code="h">[electronic resource] /</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="260"><ns0:subfield code="b">Project Gutenberg,</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="260"><ns0:subfield code="c">2004</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="500"><ns0:subfield code="a">Project Gutenberg</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="506"><ns0:subfield code="a">Freely available.</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="516"><ns0:subfield code="a">Electronic text</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="830"><ns0:subfield code="a">Project Gutenberg</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="830"><ns0:subfield code="v">10886</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="856"><ns0:subfield code="u">http://www.gutenberg.org/etext/10886</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="856"><ns0:subfield code="u">http://www.gutenberg.org/license</ns0:subfield></ns0:datafield><ns0:datafield ind1="z" ind2="z" tag="856"><ns0:subfield code="3">Rights</ns0:subfield></ns0:datafield></ns0:record>
|
data/test/tc_dublincore.rb
CHANGED
File without changes
|
data/test/tc_xml.rb
CHANGED
@@ -44,6 +44,12 @@ class XMLTest < Test::Unit::TestCase
|
|
44
44
|
assert_equal('1', record['LOC']['9'])
|
45
45
|
end
|
46
46
|
|
47
|
+
def test_read_no_leading_zero_write_leading_zero
|
48
|
+
reader = MARC::XMLReader.new('test/no-leading-zero.xml')
|
49
|
+
record = reader.to_a[0]
|
50
|
+
assert_equal("042 zz $a dc ", record['042'].to_s)
|
51
|
+
end
|
52
|
+
|
47
53
|
def test_leader_from_xml
|
48
54
|
reader = MARC::XMLReader.new('test/one.xml')
|
49
55
|
record = reader.entries[0]
|
metadata
CHANGED
@@ -1,77 +1,85 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: marc
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.2.
|
7
|
-
date: 2008-08-18 00:00:00 -04:00
|
8
|
-
summary: A ruby library for working with Machine Readable Cataloging
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: ehs@pobox.com
|
12
|
-
homepage: http://www.textualize.com/ruby_marc
|
13
|
-
rubyforge_project:
|
14
|
-
description:
|
15
|
-
autorequire: marc
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 1.8.6
|
24
|
-
version:
|
4
|
+
version: 0.2.2
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
7
|
- Ed Summers
|
8
|
+
autorequire: marc
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-12-30 00:00:00 -05:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description:
|
17
|
+
email: ehs@pobox.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files: []
|
23
|
+
|
31
24
|
files:
|
32
25
|
- lib/marc.rb
|
33
26
|
- lib/marc
|
34
|
-
- lib/marc/reader.rb
|
35
|
-
- lib/marc/writer.rb
|
36
|
-
- lib/marc/dublincore.rb
|
37
27
|
- lib/marc/xmlwriter.rb
|
38
28
|
- lib/marc/controlfield.rb
|
39
|
-
- lib/marc/datafield.rb
|
40
|
-
- lib/marc/constants.rb
|
41
29
|
- lib/marc/xmlreader.rb
|
42
|
-
- lib/marc/
|
30
|
+
- lib/marc/reader.rb
|
43
31
|
- lib/marc/record.rb
|
32
|
+
- lib/marc/exception.rb
|
33
|
+
- lib/marc/datafield.rb
|
44
34
|
- lib/marc/subfield.rb
|
45
|
-
-
|
35
|
+
- lib/marc/constants.rb
|
36
|
+
- lib/marc/dublincore.rb
|
37
|
+
- lib/marc/writer.rb
|
38
|
+
- test/non-numeric.dat
|
39
|
+
- test/tc_dublincore.rb
|
46
40
|
- test/tc_datafield.rb
|
47
|
-
- test/
|
48
|
-
- test/
|
49
|
-
- test/batch.xml
|
41
|
+
- test/non-numeric.xml
|
42
|
+
- test/no-leading-zero.xml
|
50
43
|
- test/ts_marc.rb
|
51
|
-
- test/tc_subfield.rb
|
52
44
|
- test/tc_writer.rb
|
45
|
+
- test/batch.xml
|
53
46
|
- test/tc_xml.rb
|
54
|
-
- test/non-numeric.xml
|
55
|
-
- test/tc_dublincore.rb
|
56
47
|
- test/one.dat
|
57
|
-
- test/
|
48
|
+
- test/tc_record.rb
|
58
49
|
- test/one.xml
|
50
|
+
- test/batch.dat
|
59
51
|
- test/tc_controlfield.rb
|
52
|
+
- test/tc_reader.rb
|
53
|
+
- test/tc_subfield.rb
|
60
54
|
- Rakefile
|
61
55
|
- README
|
62
56
|
- Changes
|
63
57
|
- LICENSE
|
64
|
-
|
65
|
-
|
58
|
+
has_rdoc: true
|
59
|
+
homepage: http://www.textualize.com/ruby_marc
|
60
|
+
post_install_message:
|
66
61
|
rdoc_options: []
|
67
62
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
63
|
+
require_paths:
|
64
|
+
- lib
|
65
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 1.8.6
|
70
|
+
version:
|
71
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: "0"
|
76
|
+
version:
|
74
77
|
requirements: []
|
75
78
|
|
76
|
-
|
77
|
-
|
79
|
+
rubyforge_project:
|
80
|
+
rubygems_version: 1.3.1
|
81
|
+
signing_key:
|
82
|
+
specification_version: 2
|
83
|
+
summary: A ruby library for working with Machine Readable Cataloging
|
84
|
+
test_files:
|
85
|
+
- test/ts_marc.rb
|