marc 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +30 -0
  3. data/.github/workflows/ruby.yml +24 -0
  4. data/.gitignore +17 -0
  5. data/.standard.yml +1 -0
  6. data/{Changes → CHANGELOG.md} +102 -30
  7. data/Gemfile +15 -0
  8. data/README.md +239 -46
  9. data/Rakefile +14 -14
  10. data/bin/marc +14 -0
  11. data/bin/marc2xml +17 -0
  12. data/examples/xml2marc.rb +10 -0
  13. data/lib/marc/constants.rb +3 -3
  14. data/lib/marc/controlfield.rb +35 -23
  15. data/lib/marc/datafield.rb +70 -63
  16. data/lib/marc/dublincore.rb +59 -41
  17. data/lib/marc/exception.rb +9 -1
  18. data/lib/marc/jsonl_reader.rb +33 -0
  19. data/lib/marc/jsonl_writer.rb +44 -0
  20. data/lib/marc/marc8/map_to_unicode.rb +16417 -16420
  21. data/lib/marc/marc8/to_unicode.rb +80 -86
  22. data/lib/marc/reader.rb +117 -123
  23. data/lib/marc/record.rb +72 -62
  24. data/lib/marc/subfield.rb +12 -10
  25. data/lib/marc/unsafe_xmlwriter.rb +93 -0
  26. data/lib/marc/version.rb +1 -1
  27. data/lib/marc/writer.rb +27 -30
  28. data/lib/marc/xml_parsers.rb +222 -197
  29. data/lib/marc/xmlreader.rb +131 -114
  30. data/lib/marc/xmlwriter.rb +93 -82
  31. data/lib/marc.rb +20 -18
  32. data/marc.gemspec +23 -0
  33. data/test/marc8/tc_marc8_mapping.rb +3 -3
  34. data/test/marc8/tc_to_unicode.rb +28 -32
  35. data/test/messed_up_leader.xml +9 -0
  36. data/test/tc_controlfield.rb +37 -34
  37. data/test/tc_datafield.rb +65 -60
  38. data/test/tc_dublincore.rb +9 -11
  39. data/test/tc_hash.rb +10 -13
  40. data/test/tc_jsonl.rb +19 -0
  41. data/test/tc_marchash.rb +17 -21
  42. data/test/tc_parsers.rb +108 -144
  43. data/test/tc_reader.rb +35 -36
  44. data/test/tc_reader_char_encodings.rb +149 -169
  45. data/test/tc_record.rb +143 -148
  46. data/test/tc_subfield.rb +14 -13
  47. data/test/tc_unsafe_xml.rb +95 -0
  48. data/test/tc_writer.rb +101 -108
  49. data/test/tc_xml.rb +101 -94
  50. data/test/tc_xml_error_handling.rb +7 -8
  51. data/test/ts_marc.rb +8 -8
  52. metadata +80 -9
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Clarke
@@ -10,11 +10,26 @@ authors:
10
10
  - Jonathan Rochkind
11
11
  - Ross Singer
12
12
  - Ed Summers
13
- autorequire: marc
13
+ - Chris Beer
14
+ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
- date: 2021-06-07 00:00:00.000000000 Z
17
+ date: 2022-08-02 00:00:00.000000000 Z
17
18
  dependencies:
19
+ - !ruby/object:Gem::Dependency
20
+ name: standard
21
+ requirement: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.0'
26
+ type: :development
27
+ prerelease: false
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.0'
18
33
  - !ruby/object:Gem::Dependency
19
34
  name: scrub_rb
20
35
  requirement: !ruby/object:Gem::Requirement
@@ -63,32 +78,46 @@ dependencies:
63
78
  - - ">="
64
79
  - !ruby/object:Gem::Version
65
80
  version: '0'
66
- description:
81
+ description:
67
82
  email: ehs@pobox.com
68
- executables: []
83
+ executables:
84
+ - marc
85
+ - marc2xml
69
86
  extensions: []
70
87
  extra_rdoc_files: []
71
88
  files:
72
- - Changes
89
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
90
+ - ".github/workflows/ruby.yml"
91
+ - ".gitignore"
92
+ - ".standard.yml"
93
+ - CHANGELOG.md
94
+ - Gemfile
73
95
  - LICENSE
74
96
  - README.md
75
97
  - Rakefile
98
+ - bin/marc
99
+ - bin/marc2xml
100
+ - examples/xml2marc.rb
76
101
  - lib/marc.rb
77
102
  - lib/marc/constants.rb
78
103
  - lib/marc/controlfield.rb
79
104
  - lib/marc/datafield.rb
80
105
  - lib/marc/dublincore.rb
81
106
  - lib/marc/exception.rb
107
+ - lib/marc/jsonl_reader.rb
108
+ - lib/marc/jsonl_writer.rb
82
109
  - lib/marc/marc8/map_to_unicode.rb
83
110
  - lib/marc/marc8/to_unicode.rb
84
111
  - lib/marc/reader.rb
85
112
  - lib/marc/record.rb
86
113
  - lib/marc/subfield.rb
114
+ - lib/marc/unsafe_xmlwriter.rb
87
115
  - lib/marc/version.rb
88
116
  - lib/marc/writer.rb
89
117
  - lib/marc/xml_parsers.rb
90
118
  - lib/marc/xmlreader.rb
91
119
  - lib/marc/xmlwriter.rb
120
+ - marc.gemspec
92
121
  - test/bad_eacc_encoding.marc8.marc
93
122
  - test/batch.dat
94
123
  - test/batch.xml
@@ -101,6 +130,7 @@ files:
101
130
  - test/marc8/tc_to_unicode.rb
102
131
  - test/marc8_accented_chars.marc
103
132
  - test/marc_with_bad_utf8.utf8.marc
133
+ - test/messed_up_leader.xml
104
134
  - test/no-leading-zero.xml
105
135
  - test/non-numeric.dat
106
136
  - test/non-numeric.xml
@@ -112,12 +142,14 @@ files:
112
142
  - test/tc_datafield.rb
113
143
  - test/tc_dublincore.rb
114
144
  - test/tc_hash.rb
145
+ - test/tc_jsonl.rb
115
146
  - test/tc_marchash.rb
116
147
  - test/tc_parsers.rb
117
148
  - test/tc_reader.rb
118
149
  - test/tc_reader_char_encodings.rb
119
150
  - test/tc_record.rb
120
151
  - test/tc_subfield.rb
152
+ - test/tc_unsafe_xml.rb
121
153
  - test/tc_writer.rb
122
154
  - test/tc_xml.rb
123
155
  - test/tc_xml_error_handling.rb
@@ -130,7 +162,7 @@ homepage: https://github.com/ruby-marc/ruby-marc/
130
162
  licenses:
131
163
  - MIT
132
164
  metadata: {}
133
- post_install_message:
165
+ post_install_message:
134
166
  rdoc_options: []
135
167
  require_paths:
136
168
  - lib
@@ -145,9 +177,48 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
177
  - !ruby/object:Gem::Version
146
178
  version: '0'
147
179
  requirements: []
148
- rubygems_version: 3.0.3
149
- signing_key:
180
+ rubygems_version: 3.3.3
181
+ signing_key:
150
182
  specification_version: 4
151
183
  summary: A ruby library for working with Machine Readable Cataloging
152
184
  test_files:
185
+ - test/bad_eacc_encoding.marc8.marc
186
+ - test/batch.dat
187
+ - test/batch.xml
188
+ - test/cp866_multirecord.marc
189
+ - test/cp866_unimarc.marc
190
+ - test/escaped_character_reference.marc8.marc
191
+ - test/marc8/data/test_marc8.txt
192
+ - test/marc8/data/test_utf8.txt
193
+ - test/marc8/tc_marc8_mapping.rb
194
+ - test/marc8/tc_to_unicode.rb
195
+ - test/marc8_accented_chars.marc
196
+ - test/marc_with_bad_utf8.utf8.marc
197
+ - test/messed_up_leader.xml
198
+ - test/no-leading-zero.xml
199
+ - test/non-numeric.dat
200
+ - test/non-numeric.xml
201
+ - test/one.dat
202
+ - test/one.xml
203
+ - test/random_tag_order.dat
204
+ - test/random_tag_order2.dat
205
+ - test/tc_controlfield.rb
206
+ - test/tc_datafield.rb
207
+ - test/tc_dublincore.rb
208
+ - test/tc_hash.rb
209
+ - test/tc_jsonl.rb
210
+ - test/tc_marchash.rb
211
+ - test/tc_parsers.rb
212
+ - test/tc_reader.rb
213
+ - test/tc_reader_char_encodings.rb
214
+ - test/tc_record.rb
215
+ - test/tc_subfield.rb
216
+ - test/tc_unsafe_xml.rb
217
+ - test/tc_writer.rb
218
+ - test/tc_xml.rb
219
+ - test/tc_xml_error_handling.rb
220
+ - test/three-records-second-bad.xml
153
221
  - test/ts_marc.rb
222
+ - test/utf8.marc
223
+ - test/utf8_multirecord.marc
224
+ - test/utf8_with_bad_bytes.marc