marc 1.1.1 → 1.2.0

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 (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